#!/usr/bin/python3

import argparse
import os
# import sys

import folder
import filer
from riffer import Riffer
from erimp import Erimp
from folda import Folda

desc = 'maintain simple set repis off issues'
parser = argparse.ArgumentParser(description=desc)
# parser.add_argument('-a', action='store_true', help='audit')
parser.add_argument('-v', action='store_true', help='raise verbosity')
# parser.add_argument('-l', action='store_true', help='list dates')
# parser.add_argument('-s', action='store_true', help='show')
# parser.add_argument('-c', action='store_true', help='clear other data')
# parser.add_argument('-k', action='store_true', help='check keys via dexis')
# parser.add_argument('-K', action='store_true', help='-k historic')
# parser.add_argument('-F', type=str, help='-k on file')
# parser.add_argument('-H', action='store_true', help='head check')
# parser.add_argument('-H', type=str, help='head check')
# parser.add_argument('-B', action='store_true', help='create in brown')
# parser.add_argument('-f', type=str, help='feed side file')
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)
folda = Folda(e)
riffer = Riffer(e)

out_fufi = '/home/ernad/sirda.json.gz'

out = {}
## main repis data
out['i'] = {}
## dead report data
out['d'] = []

first_issue_fufi = folder.very_first(e.dirs['issues'], '*')
first_tist = riffer.tist(first_issue_fufi)

for repcode in e.reports:
    if repcode in e.dead:
        out['d'].append(repcode)
    sent_fudi = e.report[repcode].dirs['sent']
    if not os.path.isdir(sent_fudi):
        print(f"I don't see {sent_fudi}")
        continue
    sent_fufis = folda.firsts(sent_fudi)
    for issuedate in sent_fufis:
        fufi = sent_fufis[issuedate]
        issuedate = riffer.issuedate(fufi)
        # print(issuedate + ' ' + repcode +  ' ' + str(len(sent_fufis)))
        if issuedate not in out['i']:
            out['i'][issuedate] = {}
        delay = riffer.tist(fufi) - first_tist
        if delay in out['i'][issuedate]:
            print('clash')
        out['i'][issuedate][delay] = repcode
filer.dump(out, out_fufi)
quit()
