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>
This commit is contained in:
Andreas Sandberg
2019-01-26 09:54:00 +00:00
parent 5de8626abc
commit 174ef8a73e
2 changed files with 17 additions and 5 deletions

View File

@@ -71,7 +71,11 @@ def _url_factory(func):
@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 @@ def addStatVisitor(url):
"""
from urlparse import urlsplit
try:
from urllib.parse import urlsplit
except ImportError:
# Python 2 fallback
from urlparse import urlsplit
parsed = urlsplit(url)

View File

@@ -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 @@ class lookup(object):
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)