Ejemplo n.º 1
0
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
        }
Ejemplo n.º 2
0
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
        }
Ejemplo n.º 3
0
 def get_loader(self, name):
     info = _self.projectdb.get(name)
     if info:
         return ProjectLoader(info)