available_invoice.py 1.03 KB
import sys
from configparser import ConfigParser
from argparse import ArgumentParser


def get_option(argv):
    default_count = 10
    help_count = 'default {}'.format(default_count)
    pars = ArgumentParser()
    pars.add_argument('conf')
    pars.add_argument('--tahun', type=int)
    pars.add_argument('--belum-jatuh-tempo', action='store_true')
    pars.add_argument('--lewat-jatuh-tempo', action='store_true')
    pars.add_argument(
        '--count', type=int, default=default_count, help=help_count)
    return pars.parse_args(argv)


def main(argv=sys.argv):
    option = get_option(argv[1:])
    conf = ConfigParser()
    conf.read(option.conf)
    module_name = conf.get('main', 'module')
    module = __import__('opensipkd.bphtb.' + module_name + '.services')
    area_module = getattr(module.bphtb, module_name)
    cf = dict(conf['main'])
    area_module.init(cf)
    services_module = getattr(area_module, 'services')
    AvailableInvoice = services_module.AvailableInvoice
    a = AvailableInvoice(cf['persen_denda'], option)
    a.show()