#!/usr/bin/python3

import argparse
import os
import sys
import lxml.etree as etree

import dater
# import docing
import filer
from erimp import Erimp



import docing

desc = 'fill kapro data into repconf'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='verbose')
parser.add_argument('-d', action='store_true', help='delete')
parser.add_argument('bapis', metavar='bnp', type=str, nargs='*',
                    help='bits and pieces arguments')
args = parser.parse_args()

e = Erimp(args.bapis, do_verbose=args.v)

if 'kapro_dir' not in e.conf:
    print("I need kapro_dir in the config.")
    sys.exit(0)

kapro_dir = e.conf['kapro_dir']
issues_dir = e.dirs['issues']
do_verbose = args.v
do_delete = args.d
for repcode in e.live:
    kapro_fufi = f"{kapro_dir}/{repcode}.json.gz"
    if not os.path.isfile(kapro_fufi):
        if do_verbose:
            print(f"I don't see {kapro_fufi}")
        continue
    mtime = dater.pretty_file(kapro_fufi)
    data = filer.load(kapro_fufi)
    count = 0
    for emad in data:
        #if emad.endswith('.openlib.org'):
        #    continue
        count = count + 1
    if count == 0:
        if do_verbose:
            print(f"no subber in {kapro_fufi}")
        continue
    report = e.report[repcode]
    out_fufi = report.dirs['state'] + '/' + 'subbers.xml'
    kapro_ele = etree.Element(etree.QName(e.ns['ernad'], 'subbers'),
                              nsmap=e.ns)
    kapro_ele.attrib['total'] = str(count)
    kapro_ele.attrib['update'] = mtime
    etree.cleanup_namespaces(kapro_ele)
    filer.install_xml(kapro_ele, out_fufi)
