common.py
741 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)
cf = dict()
for key, val in conf.items('main'):
if key == 'persen_denda':
val = float(val)
cf[key] = val
module_name = cf['module']
module = __import__('opensipkd.bphtb.services.' + module_name)
db_url = cf['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 cf, services