python: Add fallbacks for packages that have been renamed
Python 3 has restructured some packages. Specifically, __builtin__ has
been renamed to builtins and urlparse has been included in urllib.
Change-Id: I81f8f3942471db1043006a36abbad6e5a49e0a43
Signed-off-by: Andreas Sandberg <andreas.sandberg@arm.com>
Reviewed-on: https://gem5-review.googlesource.com/c/15994
Reviewed-by: Juha Jäykkä <juha.jaykka@arm.com>
diff --git a/src/python/m5/stats/__init__.py b/src/python/m5/stats/__init__.py
index acb62f1..019c7eb 100644
--- a/src/python/m5/stats/__init__.py
+++ b/src/python/m5/stats/__init__.py
@@ -71,7 +71,11 @@
@wraps(func)
def wrapper(url):
- from urlparse import parse_qs
+ try:
+ from urllib.parse import parse_qs
+ except ImportError:
+ # Python 2 fallback
+ from urlparse import parse_qs
from ast import literal_eval
qs = parse_qs(url.query, keep_blank_values=True)
@@ -135,7 +139,11 @@
"""
- from urlparse import urlsplit
+ try:
+ from urllib.parse import urlsplit
+ except ImportError:
+ # Python 2 fallback
+ from urlparse import urlsplit
parsed = urlsplit(url)
diff --git a/src/python/m5/util/code_formatter.py b/src/python/m5/util/code_formatter.py
index c845c90..21bbcd7 100644
--- a/src/python/m5/util/code_formatter.py
+++ b/src/python/m5/util/code_formatter.py
@@ -26,7 +26,11 @@
from __future__ import print_function
-import __builtin__
+try:
+ import builtins
+except ImportError:
+ # Python 2 fallback
+ import __builtin__ as builtins
import inspect
import os
import re
@@ -66,8 +70,8 @@
if self.formatter.globals and item in self.frame.f_globals:
return self.frame.f_globals[item]
- if item in __builtin__.__dict__:
- return __builtin__.__dict__[item]
+ if item in builtins.__dict__:
+ return builtins.__dict__[item]
try:
item = int(item)