def create_app(root_path=None): global _app if _app is not None: return _app if root_path is None: root_path = os.getcwd() sys.path.append(root_path) sys.path.append(os.path.join(root_path, "protos")) env = os.environ.get("SEA_ENV", "development") config = import_string("configs.{}".format(env)) app_class = import_string("app:App") _app = app_class(root_path, env=env) _app.config.from_object(config) # only filter default configurations _app.config.load_config_from_env() _app.load_middlewares() _app.load_extensions_in_module(import_string("app.extensions")) _app.load_servicers_in_module(import_string("app.servicers")) _app.ready() post_ready.send(_app) return _app
def init_app(self, app): config = app.config.get_namespace(self.ns) conn_params = config.get('conn_params', {}) self.database = db_url.connect(config['db_url'], **conn_params) self.model_class = import_string( config.get('model', 'peeweext.model.Model')) self._try_setup_celery()
def load_middlewares(self): mids = ['sea.middleware.GuardMiddleware'] + \ self.config.get('MIDDLEWARES') for mn in mids: m = utils.import_string(mn) self._middlewares.insert(0, m) return self.middlewares
def test_import_string(app): from sea.app import BaseApp import datetime assert utils.import_string('datetime.date') is datetime.date assert utils.import_string('datetime.date') is datetime.date assert utils.import_string('datetime') is datetime assert utils.import_string('sea.app:BaseApp') is BaseApp m = utils.import_string('app.servicers:GreeterServicer') from app.servicers import GreeterServicer assert m is GreeterServicer with pytest.raises(ImportError): utils.import_string('notexist') with pytest.raises(ImportError): utils.import_string('datetime.XXXXXXXXXXXX')
def create_app(root_path=None): global _app if _app is not None: return _app if root_path is None: root_path = os.getcwd() sys.path.append(root_path) sys.path.append(os.path.join(root_path, 'protos')) env = os.environ.get('SEA_ENV', 'development') config = import_string('configs.{}'.format(env)) app_class = import_string('app:App') _app = app_class(root_path, env=env) _app.config.from_object(config) _app.load_middlewares() _app.load_extensions_in_module(import_string('app.extensions')) _app.load_servicers_in_module(import_string('app.servicers')) _app.ready() return _app
def _load_jobs(): path = os.getcwd() sys.path.append(path) # load builtin import_string('sea.cmds') # load lib jobs for ep in pkg_resources.iter_entry_points('sea.jobs'): ep.load() # load app jobs appjobs = os.path.join(path, 'jobs') if os.path.exists(appjobs): import_string('jobs') for m in os.listdir(appjobs): if m != '__init__.py' and m.endswith('.py'): import_string('jobs.{}'.format(m[:-3]))
def _load_jobs(): path = os.getcwd() sys.path.append(path) # load builtin import_string("sea.cmds") # load lib jobs for ep in pkg_resources.iter_entry_points("sea.jobs"): try: ep.load() except Exception as e: logger = logging.getLogger("sea.cmd") logger.error("error has occurred during pkg loading: {}".format(e)) # load app jobs appjobs = os.path.join(path, "jobs") if os.path.exists(appjobs): import_string("jobs") for m in os.listdir(appjobs): if m != "__init__.py" and m.endswith(".py"): import_string("jobs.{}".format(m[:-3]))
def _load_jobs(): path = os.getcwd() sys.path.append(path) # load builtin import_string('sea.cmds') # load lib jobs for ep in pkg_resources.iter_entry_points('sea.jobs'): try: ep.load() except Exception as e: logger = logging.getLogger('sea.cmd') logger.debug( 'error has occurred during pkg loading: {}'.format(e)) # load app jobs appjobs = os.path.join(path, 'jobs') if os.path.exists(appjobs): import_string('jobs') for m in os.listdir(appjobs): if m != '__init__.py' and m.endswith('.py'): import_string('jobs.{}'.format(m[:-3]))
def load_config(app, without_imports=True): config_name = os.environ.get("SEA_ENV") config = import_string('configs.{}'.format(config_name)) capp.config_from_object(config, namespace="{}_".format(app).upper()) if without_imports: capp._conf["{}_imports".format(app).upper()] = []