common.py 630 Bytes
from configparser import ConfigParser
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import register


def init(option):
    conf = ConfigParser()
    conf.read(option.conf)
    module_name = conf.get('main', 'module')
    module = __import__('opensipkd.bphtb.services.' + module_name)
    db_url = conf.get('main', 'db_url')
    engine = create_engine(db_url)
    session_factory = sessionmaker(bind=engine)
    dbs = module.bphtb.services.base.DBSession = session_factory()
    register(dbs)
    services = getattr(module.bphtb.services, module_name)
    return conf, services