def get_db_classes(): class_names = os.getenv( "APPR_DB_CLASSES", "appr.models.kv.etcd.db:EtcdDB,\ appr.models.kv.filesystem.db:FilesystemDB,\ appr.models.kv.redis.db:RedisDB").replace( r" ", "").split(",") return [symbol_by_name(symbol) for symbol in class_names]
def get_db_class(name=None): if not name: name = os.getenv("APPR_DB_CLASS", DEFAULT_DB_CLASS) if name == "filesystem": from appr.models.kv.filesystem.db import FilesystemDB db = FilesystemDB elif name == "redis": from appr.models.kv.redis.db import RedisDB db = RedisDB elif name == "etcd": from appr.models.kv.etcd.db import EtcdDB db = EtcdDB else: db = symbol_by_name(name) return db
def app(db_class): create_app = symbol_by_name(os.getenv("APPR_FLASK_APP", "appr.api.app:create_app")) app = create_app() return app