Workaround for py2 builtin, =<3.3 imp and >=3.4 libimport quirks, solves #50127

This commit is contained in:
Mark Gomersbach 2018-10-19 12:11:37 +02:00
parent e0965603bf
commit 253ab11bd9
No known key found for this signature in database
GPG key ID: B5171AF93EC64F16
2 changed files with 27 additions and 3 deletions

View file

@ -61,13 +61,29 @@ def __virtual__():
def _vartree():
import portage # pylint: disable=3rd-party-module-not-gated
portage = reload(portage)
try:
reload(portage)
except NameError:
try:
from importlib import reload
reload(portage)
except ImportError:
from imp import reload
reload(portage)
return portage.db[portage.root]['vartree']
def _porttree():
import portage # pylint: disable=3rd-party-module-not-gated
portage = reload(portage)
try:
reload(portage)
except NameError:
try:
from importlib import reload
reload(portage)
except ImportError:
from imp import reload
reload(portage)
return portage.db[portage.root]['porttree']

View file

@ -139,7 +139,15 @@ def vb_get_manager():
pass
# Reloading the API extends sys.paths for subprocesses of multiprocessing, since they seem to share contexts
reload(vboxapi)
try:
reload(vboxapi)
except NameError:
try:
from importlib import reload
reload(vboxapi)
except ImportError:
from imp import reload
reload(vboxapi)
_virtualboxManager = vboxapi.VirtualBoxManager(None, None)
return _virtualboxManager