bitbake: toaster: fix imports to work for python 3
Some APIs have been moved to other modules in python 3: getstatusoutput: moved from commands to subproces urlopen: moved from urllib2 to urllib.request urlparse: moved from urlparse to urllib.parse Made the imports work for both python versions by catching ImportError and importing APIs from different modules. [YOCTO #9584] (Bitbake rev: 1abaa1c6a950b327e6468192dd910549643768bb) Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
This commit is contained in:
parent
bbc6e754e8
commit
0224f75999
|
@ -41,7 +41,6 @@ from subprocess import getstatusoutput
|
|||
from contextlib import contextmanager
|
||||
from ctypes import cdll
|
||||
|
||||
|
||||
logger = logging.getLogger("BitBake.Util")
|
||||
python_extensions = [e for e, _, _ in imp.get_suffixes()]
|
||||
|
||||
|
|
|
@ -1147,18 +1147,26 @@ class LayerIndexLayerSource(LayerSource):
|
|||
assert self.apiurl is not None
|
||||
from django.db import transaction, connection
|
||||
|
||||
import urllib2, urlparse, json
|
||||
import json
|
||||
import os
|
||||
|
||||
try:
|
||||
from urllib.request import urlopen, URLError
|
||||
from urllib.parse import urlparse
|
||||
except ImportError:
|
||||
from urllib2 import urlopen, URLError
|
||||
from urlparse import urlparse
|
||||
|
||||
proxy_settings = os.environ.get("http_proxy", None)
|
||||
oe_core_layer = 'openembedded-core'
|
||||
|
||||
def _get_json_response(apiurl = self.apiurl):
|
||||
_parsedurl = urlparse.urlparse(apiurl)
|
||||
_parsedurl = urlparse(apiurl)
|
||||
path = _parsedurl.path
|
||||
|
||||
try:
|
||||
res = urllib2.urlopen(apiurl)
|
||||
except urllib2.URLError as e:
|
||||
res = urlopen(apiurl)
|
||||
except URLError as e:
|
||||
raise Exception("Failed to read %s: %s" % (path, e.reason))
|
||||
|
||||
return json.loads(res.read())
|
||||
|
|
Loading…
Reference in New Issue