available_invoice.py
1.14 KB
import sys
from configparser import ConfigParser
from optparse import OptionParser
from sqlalchemy import create_engine
from sqlalchemy.orm import sessionmaker
import sismiop.services.base
def get_option(argv):
default_count = 10
help_count = 'default {}'.format(default_count)
pars = OptionParser()
pars.add_option('', '--tahun')
pars.add_option(
'', '--count', type=int, default=default_count, help=help_count)
return pars.parse_args(argv)
def main(argv=sys.argv):
option, remain = get_option(argv[1:])
count = int(option.count)
conf_file = remain[0]
conf = ConfigParser()
conf.read(conf_file)
module_name = conf.get('main', 'module')
module = __import__('sismiop.services.' + module_name)
sub_module = getattr(module.services, module_name)
AvailableInvoice = sub_module.AvailableInvoice
db_url = conf.get('main', 'db_url')
persen_denda = conf.getfloat('main', 'persen_denda')
engine = create_engine(db_url)
session_factory = sessionmaker(bind=engine)
sismiop.services.base.DBSession = session_factory()
a = AvailableInvoice(persen_denda, count, option.tahun)
a.show()