def config(self, config): """Sets the configuration for the application. Usage: app = Base() app.config = {'some': 'settings'} Args: mixed config: The configuration to use. """ if isinstance(config, ModuleType): conf = module_to_dict(config, '__') else: conf = config or {} self._config = dict_deep_update(module_to_dict(DefaultConfig, '__'), conf) self.container.add('application.config', self.config)
def register_filters_globals(self, application): _types = ('filters', 'globals') for _type in _types: for module in self.config[_type]: mod = importlib.import_module(module) dic = datastructures.module_to_dict( mod, ignore_starts_with='__') for name, definition in dic.items(): obj = '{0}.{1}'.format(module, name) env_type = getattr(self.env, _type) if isinstance(definition, types.FunctionType): env_type[name] = definition else: env_type[name] = application.container.get(obj) self._fully_loaded = True
def register_filters_globals(self, application): _types = ('filters', 'globals') for _type in _types: for module in self.config[_type]: mod = importlib.import_module(module) dic = datastructures.module_to_dict(mod, ignore_starts_with='__') for name, definition in dic.items(): obj = '{0}.{1}'.format(module, name) env_type = getattr(self.env, _type) if isinstance(definition, types.FunctionType): env_type[name] = definition else: env_type[name] = application.container.get(obj) self._fully_loaded = True
def __init__(self, config=None, application=None): super(Jinja2Renderer, self).__init__(config) self.register_loaders() _types = ('filters', 'globals') for _type in _types: for module in config[_type]: mod = importlib.import_module(module) dic = datastructures.module_to_dict(mod, ignore_starts_with='__') for name, definition in dic.items(): obj = '{0}.{1}'.format(module, name) env_type = getattr(self.env, _type) if isinstance(definition, types.FunctionType): env_type[name] = definition else: env_type[name] = application.container.get(obj)
def __init__(self, config=None, application=None): super(Jinja2Renderer, self).__init__(config) self.register_loaders() _types = ('filters', 'globals') for _type in _types: for module in config[_type]: mod = importlib.import_module(module) dic = datastructures.module_to_dict( mod, ignore_starts_with='__') for name, definition in dic.items(): obj = '{0}.{1}'.format(module, name) env_type = getattr(self.env, _type) if isinstance(definition, types.FunctionType): env_type[name] = definition else: env_type[name] = application.container.get(obj)
def test_create(self): application = applications.Http() assert isinstance(application.container, IocContainer) assert application.config == module_to_dict(config, '__') application_module = applications.Http(sample_config) assert application_module.config['debug']['enabled']
def test_module_to_dict(self): d = module_to_dict(support, '__') assert 'DATA' in d