Andreas Sandberg has uploaded this change for review. ( https://gem5-review.googlesource.com/c/public/gem5/+/15983

Change subject: python: Enforce absolute imports for Python 3 compatibility
......................................................................

python: Enforce absolute imports for Python 3 compatibility

Change-Id: Ia88d7fd472f7aed9b97df81468211384981bf6c6
Signed-off-by: Andreas Sandberg <[email protected]>
---
M src/python/importer.py
M src/python/m5/SimObject.py
M src/python/m5/__init__.py
M src/python/m5/core.py
M src/python/m5/ext/__init__.py
M src/python/m5/ext/pyfdt/pyfdt.py
M src/python/m5/internal/params.py
M src/python/m5/main.py
M src/python/m5/objects/__init__.py
M src/python/m5/options.py
M src/python/m5/params.py
M src/python/m5/proxy.py
M src/python/m5/simulate.py
M src/python/m5/trace.py
M src/python/m5/util/__init__.py
M src/python/m5/util/code_formatter.py
M src/python/m5/util/dot_writer.py
M src/python/m5/util/jobfile.py
M src/python/m5/util/orderdict.py
M src/python/m5/util/pybind.py
M src/python/m5/util/smartdict.py
M src/python/m5/util/sorteddict.py
M src/python/m5/util/terminal.py
23 files changed, 86 insertions(+), 42 deletions(-)



diff --git a/src/python/importer.py b/src/python/importer.py
index 60b9b35..a5135d3 100644
--- a/src/python/importer.py
+++ b/src/python/importer.py
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 # Simple importer that allows python to import data from a dict of
 # code objects.  The keys are the module path, and the items are the
 # filename and bytecode of the file.
diff --git a/src/python/m5/SimObject.py b/src/python/m5/SimObject.py
index 03d5d3a..1aa8dbe 100644
--- a/src/python/m5/SimObject.py
+++ b/src/python/m5/SimObject.py
@@ -44,6 +44,7 @@
 #          Andreas Sandberg

 from __future__ import print_function
+from __future__ import absolute_import

 from six import add_metaclass

diff --git a/src/python/m5/__init__.py b/src/python/m5/__init__.py
index 2730ea1..d97727c 100644
--- a/src/python/m5/__init__.py
+++ b/src/python/m5/__init__.py
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 # Import useful subpackages of M5, but *only* when run as an m5
 # script.  This is mostly to keep backward compatibility with existing
 # scripts while allowing new SCons code to operate properly.
@@ -42,14 +45,14 @@
     in_gem5 = False

 if in_gem5:
-    import SimObject
-    import core
-    import objects
-    import params
-    import stats
-    import util
+    from . import SimObject
+    from . import core
+    from . import objects
+    from . import params
+    from . import stats
+    from . import util

-    from event import *
-    from main import main
-    from simulate import *
+    from .event import *
+    from .main import main
+    from .simulate import *

diff --git a/src/python/m5/core.py b/src/python/m5/core.py
index ab0ea57..4c94353 100644
--- a/src/python/m5/core.py
+++ b/src/python/m5/core.py
@@ -26,4 +26,7 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 from _m5.core import setOutputDir
diff --git a/src/python/m5/ext/__init__.py b/src/python/m5/ext/__init__.py
index a5bc8ef..f566a34 100644
--- a/src/python/m5/ext/__init__.py
+++ b/src/python/m5/ext/__init__.py
@@ -36,3 +36,6 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #
 # Authors: Glenn Bergmans
+
+from __future__ import print_function
+from __future__ import absolute_import
diff --git a/src/python/m5/ext/pyfdt/pyfdt.py b/src/python/m5/ext/pyfdt/pyfdt.py
index 3b3238e..3c78b03 100644
--- a/src/python/m5/ext/pyfdt/pyfdt.py
+++ b/src/python/m5/ext/pyfdt/pyfdt.py
@@ -19,6 +19,9 @@
 @author: Neil 'superna' Armstrong <[email protected]>
 """

+from __future__ import print_function
+from __future__ import absolute_import
+
 import string
 import os
 import json
diff --git a/src/python/m5/internal/params.py b/src/python/m5/internal/params.py
index ef94ad4..bbf86ce 100644
--- a/src/python/m5/internal/params.py
+++ b/src/python/m5/internal/params.py
@@ -38,6 +38,9 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 import inspect
 import _m5

diff --git a/src/python/m5/main.py b/src/python/m5/main.py
index d8c0d92..8884c9e 100644
--- a/src/python/m5/main.py
+++ b/src/python/m5/main.py
@@ -54,8 +54,8 @@
     "gem5 is copyrighted software; use the --copyright option for details."

 def parse_options():
-    import config
-    from options import OptionParser
+    from . import config
+    from .options import OptionParser

     options = OptionParser(usage=usage, version=version,
                            description=brief_copyright)
@@ -194,15 +194,15 @@
 def main(*args):
     import m5

-    import core
-    import debug
-    import defines
-    import event
-    import info
-    import stats
-    import trace
+    from . import core
+    from . import debug
+    from . import defines
+    from . import event
+    from . import info
+    from . import stats
+    from . import trace

-    from util import inform, fatal, panic, isInteractive
+    from .util import inform, fatal, panic, isInteractive

     if len(args) == 0:
         options, arguments = parse_options()
@@ -283,7 +283,7 @@
         debug.help()

     if options.list_sim_objects:
-        import SimObject
+        from . import SimObject
         done = True
         print("SimObjects:")
         objects = SimObject.allClasses.keys()
diff --git a/src/python/m5/objects/__init__.py b/src/python/m5/objects/__init__.py
index 29402c5..c1b9f1c 100644
--- a/src/python/m5/objects/__init__.py
+++ b/src/python/m5/objects/__init__.py
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 from m5.internal import params
 from m5.SimObject import *

diff --git a/src/python/m5/options.py b/src/python/m5/options.py
index 1f534a3..e439018 100644
--- a/src/python/m5/options.py
+++ b/src/python/m5/options.py
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 import optparse
 import sys

diff --git a/src/python/m5/params.py b/src/python/m5/params.py
index f8ba076..f76d7ae 100644
--- a/src/python/m5/params.py
+++ b/src/python/m5/params.py
@@ -70,9 +70,9 @@
 import time
 import math

-import proxy
-import ticks
-from util import *
+from . import proxy
+from . import ticks
+from .util import *

 def isSimObject(*args, **kwargs):
     return SimObject.isSimObject(*args, **kwargs)
@@ -2106,4 +2106,4 @@
            'MasterPort', 'SlavePort',
            'VectorMasterPort', 'VectorSlavePort']

-import SimObject
+from . import SimObject
diff --git a/src/python/m5/proxy.py b/src/python/m5/proxy.py
index 2a32500..346ed92 100644
--- a/src/python/m5/proxy.py
+++ b/src/python/m5/proxy.py
@@ -45,9 +45,12 @@
 #
 #####################################################################

+from __future__ import print_function
+from __future__ import absolute_import
+
 import copy

-import params
+from . import params

 class BaseProxy(object):
     def __init__(self, search_self, search_up):
diff --git a/src/python/m5/simulate.py b/src/python/m5/simulate.py
index 03cc253..dccd774 100644
--- a/src/python/m5/simulate.py
+++ b/src/python/m5/simulate.py
@@ -51,14 +51,14 @@
 import _m5.core
 from _m5.stats import updateEvents as updateStatEvents

-import stats
-import SimObject
-import ticks
-import objects
+from . import stats
+from . import SimObject
+from . import ticks
+from . import objects
 from m5.util.dot_writer import do_dot, do_dvfs_dot

-from util import fatal
-from util import attrdict
+from .util import fatal
+from .util import attrdict

 # define a MaxTick parameter, unsigned 64 bit
 MaxTick = 2**64 - 1
diff --git a/src/python/m5/trace.py b/src/python/m5/trace.py
index ca98ebd..fe26325 100644
--- a/src/python/m5/trace.py
+++ b/src/python/m5/trace.py
@@ -26,5 +26,8 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 # Export native methods to Python
 from _m5.trace import output, ignore, disable, enable
diff --git a/src/python/m5/util/__init__.py b/src/python/m5/util/__init__.py
index 02dece6..de5a9af 100644
--- a/src/python/m5/util/__init__.py
+++ b/src/python/m5/util/__init__.py
@@ -45,15 +45,15 @@
 import re
 import sys

-import convert
-import jobfile
+from . import convert
+from . import jobfile

-from attrdict import attrdict, multiattrdict, optiondict
-from code_formatter import code_formatter
-from multidict import multidict
-from orderdict import orderdict
-from smartdict import SmartDict
-from sorteddict import SortedDict
+from .attrdict import attrdict, multiattrdict, optiondict
+from .code_formatter import code_formatter
+from .multidict import multidict
+from .orderdict import orderdict
+from .smartdict import SmartDict
+from .sorteddict import SortedDict

 # panic() should be called when something happens that should never
 # ever happen regardless of what the user does (i.e., an acutal m5
diff --git a/src/python/m5/util/code_formatter.py b/src/python/m5/util/code_formatter.py
index f47b964..5ffc0e0 100644
--- a/src/python/m5/util/code_formatter.py
+++ b/src/python/m5/util/code_formatter.py
@@ -275,7 +275,7 @@
 __all__ = [ "code_formatter" ]

 if __name__ == '__main__':
-    from code_formatter import code_formatter
+    from .code_formatter import code_formatter
     f = code_formatter()

     class Foo(dict):
diff --git a/src/python/m5/util/dot_writer.py b/src/python/m5/util/dot_writer.py
index 7155f11..8bf026b 100644
--- a/src/python/m5/util/dot_writer.py
+++ b/src/python/m5/util/dot_writer.py
@@ -57,6 +57,9 @@
 #
 #####################################################################

+from __future__ import print_function
+from __future__ import absolute_import
+
 import m5, os, re
 from m5.SimObject import isRoot, isSimObjectVector
 from m5.params import PortRef, isNullPointer
diff --git a/src/python/m5/util/jobfile.py b/src/python/m5/util/jobfile.py
index ad5b5ff..492062c 100644
--- a/src/python/m5/util/jobfile.py
+++ b/src/python/m5/util/jobfile.py
@@ -27,6 +27,7 @@
 # Authors: Nathan Binkert

 from __future__ import print_function
+from __future__ import absolute_import

 import sys

diff --git a/src/python/m5/util/orderdict.py b/src/python/m5/util/orderdict.py
index 1ffbca8..26bc9be 100644
--- a/src/python/m5/util/orderdict.py
+++ b/src/python/m5/util/orderdict.py
@@ -26,6 +26,9 @@
 #
 # Authors: Nathan Binkert

+from __future__ import print_function
+from __future__ import absolute_import
+
 __all__ = [ 'orderdict' ]

 from UserDict import DictMixin
diff --git a/src/python/m5/util/pybind.py b/src/python/m5/util/pybind.py
index 19397fa..bee69fe 100644
--- a/src/python/m5/util/pybind.py
+++ b/src/python/m5/util/pybind.py
@@ -35,6 +35,8 @@
 #
 # Authors: Andreas Sandberg

+from __future__ import print_function
+from __future__ import absolute_import
 from six import with_metaclass

 from abc import *
diff --git a/src/python/m5/util/smartdict.py b/src/python/m5/util/smartdict.py
index 61e48dd..0e058a6 100644
--- a/src/python/m5/util/smartdict.py
+++ b/src/python/m5/util/smartdict.py
@@ -41,9 +41,11 @@
 # rather than a normal value, and (c) coerce values written to the
 # dict to be strings.

+from __future__ import print_function
+from __future__ import absolute_import

-from convert import *
-from attrdict import attrdict
+from .convert import *
+from .attrdict import attrdict

 class Variable(str):
     """Intelligent proxy class for SmartDict.  Variable will use the
diff --git a/src/python/m5/util/sorteddict.py b/src/python/m5/util/sorteddict.py
index abe2837..de144a7 100644
--- a/src/python/m5/util/sorteddict.py
+++ b/src/python/m5/util/sorteddict.py
@@ -25,6 +25,7 @@
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

 from __future__ import print_function
+from __future__ import absolute_import

 from bisect import bisect_left, bisect_right

diff --git a/src/python/m5/util/terminal.py b/src/python/m5/util/terminal.py
index 9dc5d98..8e8cca6 100644
--- a/src/python/m5/util/terminal.py
+++ b/src/python/m5/util/terminal.py
@@ -27,6 +27,7 @@
 # Author: Steve Reinhardt

 from __future__ import print_function
+from __future__ import absolute_import

 import sys


--
To view, visit https://gem5-review.googlesource.com/c/public/gem5/+/15983
To unsubscribe, or for help writing mail filters, visit https://gem5-review.googlesource.com/settings

Gerrit-Project: public/gem5
Gerrit-Branch: master
Gerrit-Change-Id: Ia88d7fd472f7aed9b97df81468211384981bf6c6
Gerrit-Change-Number: 15983
Gerrit-PatchSet: 1
Gerrit-Owner: Andreas Sandberg <[email protected]>
Gerrit-MessageType: newchange
_______________________________________________
gem5-dev mailing list
[email protected]
http://m5sim.org/mailman/listinfo/gem5-dev

Reply via email to