def __init__(self, version, router): # TODO(RS) this had to be hardcoded, to match the murano # factory method. Perhaps there is a better way to get it to # work using the factory? self.version = version self.api = paste_util.lookup_object(router)(routes.Mapper()) super(DocSpecController, self).__init__()
def factory(config): """ :type config: pyramid.config.Configurator """ global DBSession settings = config.get_settings() dbsession_path = settings.get('pyramid_backend.sqlalchemy.dbsession') if not dbsession_path: logger.warn('You have not configured dbsession for pyramid_backend ' 'sqlalchemy adapter at ' '"pyramid_backend.sqlalchemy.dbsession"') return lambda m: None DBSession = lookup_object(dbsession_path) def _create_manager(model): # verify model is an ORM class of SQLAlchemy or not # if not, just return None try: mapper = class_mapper(model) except UnmappedClassError: return None return SQLAlchemyManager(model) return _create_manager
def get_context(self, object_type, name=None, global_conf=None): obj = lookup_object(self.spec) return LoaderContext( obj, object_type, None, # determine protocol from section type global_conf or {}, {}, self, )
def __init__(self, settings): maxrows = settings.get('groups_maxrows', 100) self.maxrows = maxrows self.log = LogWrapper('groups.GroupsController') self.timer = settings.get('timer') self.backends = {} self.pool = GreenPool() self.timeout = int(settings.get('groups_timeout_backend', '3000')) / 1000 for key, value in settings.items(): if key.startswith(BACKEND_CONFIG_KEY): grouptype = key[len(BACKEND_CONFIG_KEY):] prefix = ID_PREFIX + ':' + grouptype self.backends[grouptype] = lookup_object(value)(prefix, maxrows, settings) self.id_handlers = {} for backend in self.backends.values(): self.id_handlers.update(backend.get_id_handlers())