python: Stop using basestring to test for strings
The base class basestring doesn't exist in Python 3. Use string_types
from six instead.
Change-Id: I7e84903fb7dd4a0af7ae4e9f4ec2e54338f212bb
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15998
Reviewed-by: Nikos Nikoleris <nikos.nikoleris@arm.com>
Reviewed-by: Juha Jäykkä <juha.jaykka@arm.com>
diff --git a/src/mem/qos/QoSPolicy.py b/src/mem/qos/QoSPolicy.py
index 6db04ac..be18cd6 100644
--- a/src/mem/qos/QoSPolicy.py
+++ b/src/mem/qos/QoSPolicy.py
@@ -35,6 +35,8 @@
#
# Authors: Giacomo Travaglini
+from six import string_types
+
from m5.SimObject import *
from m5.params import *
@@ -71,7 +73,7 @@
for mprio in self._mpriorities:
master = mprio[0]
priority = mprio[1]
- if isinstance(master, basestring):
+ if isinstance(master, string_types):
self.getCCObject().initMasterName(
master, int(priority))
else:
@@ -108,7 +110,7 @@
for mprio in self._mscores:
master = mprio[0]
score = mprio[1]
- if isinstance(master, basestring):
+ if isinstance(master, string_types):
self.getCCObject().initMasterName(
master, float(score))
else:
diff --git a/src/mem/slicc/util.py b/src/mem/slicc/util.py
index 3a0cf5f..dcb780d 100644
--- a/src/mem/slicc/util.py
+++ b/src/mem/slicc/util.py
@@ -25,6 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
from __future__ import print_function
+from six import string_types
import os
import sys
@@ -49,7 +50,7 @@
class Location(object):
def __init__(self, filename, lineno, no_warning=False):
- if not isinstance(filename, basestring):
+ if not isinstance(filename, string_types):
raise AttributeError, \
"filename must be a string, found '%s'" % (type(filename), )
if not isinstance(lineno, (int, long)):
diff --git a/src/python/m5/util/grammar.py b/src/python/m5/util/grammar.py
index 2d9e82c..caf8a2e 100644
--- a/src/python/m5/util/grammar.py
+++ b/src/python/m5/util/grammar.py
@@ -25,6 +25,7 @@
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
import os
+from six import string_types
import ply.lex
import ply.yacc
@@ -93,7 +94,7 @@
"'%s' object has no attribute '%s'" % (type(self), attr))
def parse_string(self, data, source='<string>', debug=None, tracking=0):
- if not isinstance(data, basestring):
+ if not isinstance(data, string_types):
raise AttributeError(
"argument must be a string, was '%s'" % type(f))
@@ -113,7 +114,7 @@
return result
def parse_file(self, f, **kwargs):
- if isinstance(f, basestring):
+ if isinstance(f, string_types):
source = f
f = open(f, 'r')
elif isinstance(f, file):