コード例 #1
0
def load_python_modules():
    import os

    packages = ['sprokit.processes', 'sprokit.schedulers']

    envvar = 'SPROKIT_PYTHON_MODULES'

    if envvar in os.environ:
        extra_modules = os.environ[envvar]
        packages += extra_modules.split(os.pathsep)

    loader = loaders.ModuleLoader()
    all_modules = []

    for package in packages:
        modules = loader.load(package)

        all_modules += modules

    for module in all_modules:
        try:
            _load_python_module(module)
        except BaseException:
            import sys

            e = sys.exc_info()[1]

            _log("Failed to load '%s': %s" % (module, str(e)))
コード例 #2
0
ファイル: modules.py プロジェクト: collinsr/kwiver
def load_python_modules():
    """
    Loads Sprokit python plugins

    Searches for modules specified in the `SPROKIT_PYTHON_MODULES` environment
    variable that are importable from `PYTHONPATH`. Then these modules are
    imported and their `__sprokit_register__` function is called to register
    them with the C++ backend.
    """
    import os

    packages = ['sprokit.processes', 'sprokit.schedulers']

    envvar = 'SPROKIT_PYTHON_MODULES'

    extra_modules = os.environ.get(envvar, '').split(os.pathsep)
    # ensure the empty string is not considered as a module
    packages.extend([p for p in extra_modules if p])

    loader = loaders.ModuleLoader()
    all_modules = []

    for package in packages:
        modules = loader.load(package)
        all_modules += modules

    for module in all_modules:
        print('[DEBUG] Loading python module: {}'.format(module))

        try:
            _load_python_module(module)
        except BaseException:
            import sys
            e = sys.exc_info()[1]
            _log("Failed to load '%s': %s" % (module, str(e)))
コード例 #3
0
def load_python_modules():
    """
    Loads Sprokit python plugins

    Searches for modules specified in the `SPROKIT_PYTHON_MODULES` environment
    variable that are importable from `PYTHONPATH`. Then these modules are
    imported and their `__sprokit_register__` function is called to register
    them with the C++ backend.
    """
    import os
    logger.info('Loading python modules')

    # default plugins that are always loaded
    packages = ['sprokit.processes', 'sprokit.schedulers']

    envvar = 'SPROKIT_PYTHON_MODULES'

    extra_modules = os.environ.get(envvar, '').split(os.pathsep)
    # ensure the empty string is not considered as a module
    packages.extend([p for p in extra_modules if p])
    logger.debug('Preparing to load sprokit python plugin modules: '
                 '[\n    {}\n]'.format(',\n    '.join(list(map(repr,
                                                               packages)))))

    loader = loaders.ModuleLoader()
    all_modules = []

    for package in packages:
        modules = loader.load(package)
        all_modules += modules

    for module in all_modules:
        try:
            _load_python_module(module)
        except BaseException as ex:
            logger.warn('Failed to load "{}": {}'.format(module, ex))
コード例 #4
0
ファイル: tests.py プロジェクト: Spredzy/straightplugin
 def setUp(self):
     self.loader = loaders.ModuleLoader()
     super(ImpliedNamespaceModuleTestCase, self).setUp()
コード例 #5
0
ファイル: tests.py プロジェクト: Spredzy/straightplugin
 def setUp(self):
     self.loader = loaders.ModuleLoader()
     super(ModuleLoaderTestCase, self).setUp()
コード例 #6
0
ファイル: tests.py プロジェクト: Spredzy/straightplugin
 def setUp(self):
     self.loader = loaders.ModuleLoader(recurse=True)
     super(RecursingPackageLoaderTestCase, self).setUp()