view BackendFactory.py @ 213:524cbf9e413c

use correct TODO tags so they show up in the tasks view in Eclipse
author dirk
date Wed, 28 Nov 2012 01:53:29 +0100
parents 5b131f82057d
children bb3c851b18b1
line wrap: on
line source


import argparse

SQLALCHEMY_BACKEND = "sqlalchemy"
COUCHDB_BACKEND = "couchdb"

def _parseArguments():
    parser = argparse.ArgumentParser()
    parser.add_argument("--backend", nargs="?", choices=[SQLALCHEMY_BACKEND, COUCHDB_BACKEND], 
        required=True, help="Specify the backend to use: either sqlalchemy or couchdb")
    return parser.parse_known_args()

def createBackend():
    args = _parseArguments()
    backend = args[0].backend
    if backend == SQLALCHEMY_BACKEND:
        from backend.sqlalchemy.SqlAlchemyBackend import SqlAlchemyBackend
        return SqlAlchemyBackend()
    elif backend == COUCHDB_BACKEND:
        from backend.couchdb.CouchDbBackend import CouchDbBackend
        return CouchDbBackend()
    else:
        raise Exception("no backend configured")