improve find() for downloaders and postprocessors
This commit is contained in:
@@ -30,9 +30,10 @@ def find(scheme):
|
|||||||
if scheme in modules: # prevent unwanted imports
|
if scheme in modules: # prevent unwanted imports
|
||||||
try:
|
try:
|
||||||
module = importlib.import_module("." + scheme, __package__)
|
module = importlib.import_module("." + scheme, __package__)
|
||||||
klass = module.__downloader__
|
|
||||||
except ImportError:
|
except ImportError:
|
||||||
pass
|
pass
|
||||||
|
else:
|
||||||
|
klass = module.__downloader__
|
||||||
|
|
||||||
if scheme == "http":
|
if scheme == "http":
|
||||||
_cache["http"] = _cache["https"] = klass
|
_cache["http"] = _cache["https"] = klass
|
||||||
|
|||||||
@@ -28,15 +28,18 @@ def find(name):
|
|||||||
try:
|
try:
|
||||||
return _cache[name]
|
return _cache[name]
|
||||||
except KeyError:
|
except KeyError:
|
||||||
klass = None
|
pass
|
||||||
|
|
||||||
|
klass = None
|
||||||
|
if name in modules: # prevent unwanted imports
|
||||||
try:
|
try:
|
||||||
if name in modules: # prevent unwanted imports
|
module = importlib.import_module("." + name, __package__)
|
||||||
module = importlib.import_module("." + name, __package__)
|
except ImportError:
|
||||||
klass = module.__postprocessor__
|
|
||||||
except (ImportError, AttributeError, TypeError):
|
|
||||||
pass
|
pass
|
||||||
_cache[name] = klass
|
else:
|
||||||
return klass
|
klass = module.__postprocessor__
|
||||||
|
_cache[name] = klass
|
||||||
|
return klass
|
||||||
|
|
||||||
|
|
||||||
# --------------------------------------------------------------------
|
# --------------------------------------------------------------------
|
||||||
|
|||||||
Reference in New Issue
Block a user