common.py
901 Bytes
from configparser import ConfigParser
from sqlalchemy import engine_from_config
from sqlalchemy.orm import sessionmaker
from zope.sqlalchemy import register
from .logger import setup_logging
def init(option):
setup_logging(option.conf)
conf = ConfigParser()
conf.read(option.conf)
cf = dict(rekening_notes=[])
for key, val in conf.items('main'):
if key == 'persen_denda':
val = float(val)
elif key.find('rekening_') == 0:
val = val.split()
cf[key] = val
module_name = cf['module']
module = __import__('opensipkd.pad.services.' + module_name)
db_url = cf['db_url']
engine = engine_from_config(cf, 'db_')
session_factory = sessionmaker(bind=engine)
dbs = module.pad.services.base.DBSession = session_factory()
register(dbs)
services = getattr(module.pad.services, module_name)
return cf, services