view BackendFactory.py @ 232:18865de3a87d

all __init__.py files must contain at least an empty line to avoid eric's style checker choking
author Dirk Olmes <dirk@xanthippe.ping.de>
date Thu, 25 Sep 2014 17:10:40 +0200
parents bb3c851b18b1
children e34c53a3e407
line wrap: on
line source

# -*- coding: utf-8 -*-
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")