Skip to content
Snippets Groups Projects
Commit 2f35bc8c authored by Lluis Gifre Renom's avatar Lluis Gifre Renom
Browse files

Add database/Factory.py missing file

parent d014b96b
No related branches found
No related tags found
1 merge request!54Release 2.0.0
import logging, os
from enum import Enum
from .inmemory.InMemoryDatabase import InMemoryDatabase
from .redis.RedisDatabase import RedisDatabase
LOGGER = logging.getLogger(__name__)
class DatabaseEngineEnum(Enum):
INMEMORY = 'inmemory'
REDIS = 'redis'
#MONGO = 'mongo'
#RETHINK = 'rethink'
#ETCD = 'etcd'
ENGINES = {
DatabaseEngineEnum.INMEMORY.value: InMemoryDatabase,
DatabaseEngineEnum.REDIS.value: RedisDatabase,
#DatabaseEngineEnum.MONGO.value: MongoDatabase,
#DatabaseEngineEnum.RETHINK.value: RethinkDatabase,
#DatabaseEngineEnum.ETCD.value: EtcdDatabase,
}
DEFAULT_DB_ENGINE = DatabaseEngineEnum.INMEMORY
def get_database(engine=None, **parameters):
if engine is None: engine = os.environ.get('DB_ENGINE', DEFAULT_DB_ENGINE)
if(isinstance(engine, DatabaseEngineEnum)): engine = engine.value
LOGGER.info('Selected Database Engine: {}'.format(engine))
engine_class = ENGINES.get(engine)
if engine_class is None: raise Exception('Unsupported Engine({})'.format(engine))
return engine_class(**parameters)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment