diff --git a/collectors/__init__.py b/collectors/__init__.py index dd5ad68..c0a39c0 100644 --- a/collectors/__init__.py +++ b/collectors/__init__.py @@ -1,4 +1,4 @@ import settings from utils import module_loader -module_loader(__name__, settings.COLLECTORS) +module_loader(globals(), settings.COLLECTORS) diff --git a/proxies/__init__.py b/proxies/__init__.py index 4b0d25c..f241825 100644 --- a/proxies/__init__.py +++ b/proxies/__init__.py @@ -1,4 +1,4 @@ import settings from utils import module_loader -module_loader(__name__, settings.PROXIES) +module_loader(globals(), settings.PROXIES) diff --git a/utils/__init__.py b/utils/__init__.py index f9bc370..eba9f11 100644 --- a/utils/__init__.py +++ b/utils/__init__.py @@ -1,26 +1,11 @@ -import types -import copy +def module_loader(globs, module_list): + for item in module_list: + if isinstance(item, tuple): + (module_name, args) = (item[0], item[1:]) + else: + (module_name, args) = (item], []) -#Note: Make this less stupid -def module_loader(namespace='', module_list=[]): - for module in module_list: - module_arguments = None - module_file = module + module = __import__(module_name, globals=globs, fromlist=[''], level=1) - if type(module) == types.TupleType: - module_file = module[0] - if len(module) > 1: - module_arguments = module[1] - - elements = module_file.split('.') - - for i in range(1,len(elements)): - elements_range = elements[0:i] - module_path = '.'.join([namespace] + elements_range) - module_import = __import__(module_path) - - if module_arguments: - m = getattr(module_import, elements_range[0]) - for i in elements_range[1:]: - m = getattr(m, i) - m.args = copy.copy(module_arguments) + if args: + module.args = args[:] \ No newline at end of file