sync_id.py 1020 Bytes
import sys
from configparser import ConfigParser
from argparse import ArgumentParser
from opensipkd.iso8583.bjb.scripts.common import get_module_object
from .logger import setup_logging
from .sync import make_pid_file


def get_parser():
    pars = ArgumentParser()
    pars.add_argument('conf')
    pars.add_argument('--update-from-id')
    return pars


def get_option(argv):
    pars = get_parser()
    return pars.parse_args(argv)


def main(argv=sys.argv[1:]):
    option = get_option(argv)
    conf = ConfigParser()
    conf.read(option.conf)
    cf = dict(conf.items('main'))
    if not make_pid_file(cf['pid_file']):
        return
    setup_logging(option.conf)
    if option.update_from_id:
        try:
            cf['id_awal'] = int(option.update_from_id)
        except ValueError:
            t = option.update_from_id.split(',')
            cf['id_awal'] = int(t[0])
            cf['id_akhir'] = int(t[1])
    module = get_module_object(conf.get('main', 'module'))
    app = module.App(cf)
    app.run()