def build_module(project, env={}): assert 'name' in project, 'need name of project' assert 'script' in project, 'need script of project' # fix for old non-package version scripts if 'pyspider' not in sys.path: sys.path.insert(1, 'pyspider') env = dict(env) env.update({ 'debug': project.get('status', 'DEBUG') == 'DEBUG', }) loader = ProjectLoader(project) module = loader.load_module(project['name']) _class = module.__dict__.get('__handler_cls__') assert _class is not None, "need BaseHandler in project module" instance = _class() instance.__env__ = env instance.project_name = project['name'] instance.project = project return { 'loader': loader, 'module': module, 'class': _class, 'instance': instance, 'info': project }
def build_module(project, env={}): assert 'name' in project, 'need name of project' assert 'script' in project, 'need script of project' env = dict(env) env.update({ 'debug': project.get('status', 'DEBUG') == 'DEBUG', }) loader = ProjectLoader(project) module = loader.load_module(project['name']) _class = module.__dict__.get('__handler_cls__') assert _class is not None, "need BaseHandler in project module" instance = _class() instance.__env__ = env return { 'loader': loader, 'module': module, 'class': _class, 'instance': instance, 'info': project }
def get_loader(self, name): info = _self.projectdb.get(name) if info: return ProjectLoader(info)