本文整理汇总了Python中werkzeug.utils.find_modules函数的典型用法代码示例。如果您正苦于以下问题:Python find_modules函数的具体用法?Python find_modules怎么用?Python find_modules使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了find_modules函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: load_providers_config
def load_providers_config():
providers = {}
for pkg in werk_utils.find_modules('%s.providers' % __package__, True):
cfg = werk_utils.import_string('%s.CONFIG' % pkg, True)
if cfg and cfg.get('name'):
providers[cfg['name']] = cfg
return providers
示例2: register_manager
def register_manager(manager):
"""Register all manager plugins and default commands with the manager."""
from six.moves.urllib.parse import urlparse
from flask.ext.script.commands import Shell, Server, ShowUrls, Clean
managers = RegistryProxy('managers', ModuleAutoDiscoveryRegistry, 'manage')
with manager.app.app_context():
for script in find_modules('invenio.base.scripts'):
manager.add_command(script.split('.')[-1],
import_string(script + ':manager'))
for script in managers:
if script.__name__ == 'invenio.base.manage':
continue
manager.add_command(script.__name__.split('.')[-2],
getattr(script, 'manager'))
manager.add_command("clean", Clean())
manager.add_command("show-urls", ShowUrls())
manager.add_command("shell", Shell())
parsed_url = urlparse(manager.app.config.get('CFG_SITE_URL'))
port = parsed_url.port or 80
host = parsed_url.hostname or '127.0.0.1'
manager.add_command("runserver", Server(host=host, port=port))
from invenio.ext.collect import collect
collect.init_script(manager)
# Added for B2SHARE for debugging purposes
print("Available blueprints:", [x.name for x in manager.app.blueprints.values()])
示例3: register_manager
def register_manager(manager):
"""Register all manager plugins and default commands with the manager."""
from six.moves.urllib.parse import urlparse
managers = RegistryProxy('managers', ModuleAutoDiscoveryRegistry, 'manage')
with manager.app.app_context():
for script in find_modules('invenio.base.scripts'):
manager.add_command(script.split('.')[-1],
import_string(script + ':manager'))
for script in managers:
if script.__name__ == 'invenio.base.manage':
continue
manager.add_command(script.__name__.split('.')[-2],
getattr(script, 'manager'))
manager.add_command("clean", Clean())
manager.add_command("show-urls", ShowUrls())
manager.add_command("shell", Shell())
parsed_url = urlparse(manager.app.config.get('CFG_SITE_URL'))
port = parsed_url.port or 80
host = parsed_url.hostname or '127.0.0.1'
runserver = Server(host=host, port=port)
manager.add_command("runserver", runserver)
# FIXME separation of concerns is violated here.
from invenio.ext.collect import collect
collect.init_script(manager)
from invenio.ext.assets import command, bower
manager.add_command("assets", command)
manager.add_command("bower", bower)
示例4: _discover_module
def _discover_module(self, pkg):
import_str = pkg + '.' + self.module_name
blacklist = self.app.config.get(
'%s_%s_EXCLUDE' % (self.cfg_var_prefix, self.module_name.upper()),
[]
)
try:
import_string(import_str, silent=self.silent)
except ImportError as e: # pylint: disable=C0103
self._handle_importerror(e, pkg, import_str)
return
except SyntaxError as e:
self._handle_syntaxerror(e, pkg, import_str)
return
for m in find_modules(import_str):
if m in blacklist: # Exclude specific package
continue
try:
module = import_string(m, silent=self.silent)
if module is not None:
self.register(module)
except ImportError as e: # pylint: disable=C0103
self._handle_importerror(e, import_str, m)
except SyntaxError as e:
self._handle_syntaxerror(e, import_str, m)
示例5: iter_suites
def iter_suites(packages=None):
"""Yield all testsuites."""
from werkzeug.utils import import_string, find_modules
from flask_registry import ModuleAutoDiscoveryRegistry, \
ImportPathRegistry
app = create_app()
if packages is None:
testsuite = ModuleAutoDiscoveryRegistry('testsuite', app=app)
from invenio import testsuite as testsuite_invenio
testsuite.register(testsuite_invenio)
else:
exclude = map(lambda x: x + '.testsuite',
app.config.get('PACKAGES_EXCLUDE', []))
testsuite = ImportPathRegistry(initial=packages, exclude=exclude,
load_modules=True)
for package in testsuite:
for name in find_modules(package.__name__):
module = import_string(name)
if not module.__name__.split('.')[-1].startswith('test_'):
continue
if hasattr(module, 'TEST_SUITE'):
yield module.TEST_SUITE
else:
app.logger.warning(
"%s: No test suite defined." % module.__name__)
示例6: register_blueprints
def register_blueprints(app):
for name in find_modules('blog.views'):
mod = import_string(name)
if hasattr(mod, 'bp'):
app.register_blueprint(mod.bp)
app.add_url_rule('/graphql', view_func=GraphQLView.as_view(
'graphql', schema=schema, graphiql=True))
示例7: load_controllers
def load_controllers(self):
"""Load all controllers from the application, so the routing cache gets
filled."""
for mod in find_modules(self.appname+".controllers"):
self.controllers[mod.split('.')[-1]] = __import__(mod, None, None, ['']).controller
self.loaded_controllers = True
示例8: autodiscover
def autodiscover(self, paths, models=None, module_names=None):
"""
Automatically register all Kibble views under ``path``.
:param paths: The module paths to search under.
:param module_names: A list of module names to match on. e.g. `kibble`
will only attempt to autodiscover `kibble.py` files.
:param models: A list of model kinds (either a ``ndb.Model`` subclass
or a string) (Optional)
"""
from werkzeug.utils import find_modules, import_string
from .base import KibbleMeta
all_models = models is None
models = [
(x._kind() if isinstance(x, ndb.Model) else x)
for x in models or []]
for p in paths:
for mod in find_modules(p, True, True):
# logger.debug("Autodiscover: %s", mod)
if module_names is None \
or mod.rsplit('.', 1)[-1] in module_names:
import_string(mod)
for view in KibbleMeta._autodiscover:
if view.model and (all_models or view.kind() in models):
self.register_view(view)
示例9: iter_suites
def iter_suites(name=None):
name = name or __name__
for module in find_modules(name):
mod = import_string(module)
if hasattr(mod, 'suite'):
yield mod.suite()
示例10: import_module_from_packages
def import_module_from_packages(name, app=None, packages=None, silent=False):
if packages is None:
if app is None and has_app_context():
app = current_app
if app is None:
raise Exception(
'Working outside application context or provide app'
)
#FIXME
packages = app.config.get('PACKAGES', [])
for package in packages:
if package.endswith('.*'):
for module in find_modules(package[:-2], include_packages=True):
try:
yield import_string(module + '.' + name, silent)
except ImportError:
pass
except Exception as e:
import traceback
traceback.print_exc()
app.logger.error('Could not import: "%s.%s: %s',
module, name, str(e))
pass
continue
try:
yield import_string(package + '.' + name, silent)
except ImportError:
pass
except Exception as e:
import traceback
traceback.print_exc()
app.logger.error('Could not import: "%s.%s: %s',
package, name, str(e))
pass
示例11: import_module_from_packages
def import_module_from_packages(name, app=None, packages=None, silent=False):
"""Import modules from packages."""
warnings.warn("Use of import_module_from_packages has been deprecated."
" Please use Flask-Registry instead.", DeprecationWarning)
if app is None and has_app_context():
app = current_app
if app is None:
raise Exception(
'Working outside application context or provide app'
)
if packages is None:
packages = app.config.get('PACKAGES', [])
for package in packages:
if package.endswith('.*'):
for module in find_modules(package[:-2], include_packages=True):
try:
yield import_string(module + '.' + name, silent)
except ImportError:
pass
except Exception:
app.logger.exception("could not import %s.%s",
package, name)
continue
try:
yield import_string(package + '.' + name, silent)
except ImportError:
pass
except Exception:
app.logger.exception("could not import %s.%s", package, name)
示例12: register_all_blueprints
def register_all_blueprints(app, blueprint_module):
if blueprint_module:
for name in find_modules(blueprint_module, include_packages=True, recursive=True):
mod = import_string(name)
for item_name in dir(mod):
item = getattr(mod, item_name)
if isinstance(item, Blueprint):
app.register_blueprint(item)
示例13: register_api
def register_api(api):
for pkg in w_utils.find_modules('apps', True):
pkg_api = '%s.api' % pkg
resources = get_module_obj(pkg_api, 'API')
if not resources:
continue
for resource in resources:
register_api_resource(api, resource)
示例14: register_apps
def register_apps(app):
for pkg in w_utils.find_modules('apps', True):
pkg_views = '%s.views' % pkg
objs = [get_module_obj(pkg_views, obj) for obj in ['bpa', 'bp']]
funcy.walk(funcy.silent(app.register_blueprint), objs)
app_init = get_module_obj(pkg, 'app_init')
if app_init:
app_init(app)
示例15: is_module_exist
def is_module_exist(self):
"""Checks if module exists by the module name as the parameter:
is_module_exist('app.views')
Throws the error string to the console output if no module found
but doesn't raise any exception. Returns bool value.
"""
error_map = {'settings': NO_SETTINGS_ERROR}
try:
find_modules(self.module_name)
return True
except ImportError:
if self.module_name in error_map.keys():
sys.stderr.write(error_map[self.module_name])
else:
sys.stderr.write(NO_MODULE_COMMON_ERROR.format(self.module_name))
return False