#!/usr/bin/python3

import argparse
# import os
import sys

from erimp import Erimp
#from relpo import Relpo
from ralil import Ralil
from kosel import Kosel
from impst import Impst
import numpy as np


desc = 'maintain the classing archive'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
parser.add_argument('-l', action='store_true', help='list dates')
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)

ralil = Ralil(e)
impst = Impst(e)

kosel = Kosel(e)
sings = kosel.get_singletons()
singras = []
count = 0
for issuedate in sings:
    for pair in sings[issuedate]:
        out = ralil.lookup(issuedate, pair)
        if out is None:
            continue
        singras.append(out)
        count += 1
data = {}
data['mean'] = np.mean(singras)
data['median'] = np.median(singras)
impst.fix('singras', data)
if not args.v:
    sys.exit(0)
print(str(np.mean(singras)) + ' ' + str(np.median(singras)) + ' ' + str(count))
