def init_containers(self): """ Tries to load and create all objects containers specified in config """ containers = {} containers_from_local_config = context.app_config['containers'] for container_name in containers_from_local_config.keys(): try: container_classname = self.CONTAINER_CLASS % container_name.title() container_class = loader.import_class(self.CONTAINER_MODULE % (container_name, container_classname)) containers[container_name] = container_class() context.log.debug('loaded container "%s" from %s' % (container_name, container_class)) except: context.log.error('failed to load container %s' % container_name, exc_info=True) return containers
def read(config_name, config_file=None): """ Reads specified config and caches it in CONFIG_CACHE dict Each config is a python file which can Typical name of config for example: /agent/config/app.py :param config_name: config name :return: python object """ if config_name not in CONFIG_CACHE: full_module_name = 'amplify.agent.config.%s' % config_name class_name = '%sConfig' % context.environment.title() config_object = import_class('%s.%s' % (full_module_name, class_name))(config_file) CONFIG_CACHE[config_name] = config_object return CONFIG_CACHE[config_name]