#!/usr/bin/python3

import argparse
import sys
import docing

from erimp import Erimp
from recon import Recon
from staff import Staff
from rixer import Rixer

desc = 'report home page'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
parser.add_argument('-x', action='store_true', help='extended features')
parser.add_argument('-a', action='store_true', help='do all')
parser.add_argument('-f', action='store_true', help='flatten')
parser.add_argument('-d', action='store_true', help='debug')
parser.add_argument('-t', action='store_true', help='show time')
parser.add_argument('-c', action='store_true', help='remove history')
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)

recon = Recon(e, do_verbose=args.v)
rixer = Rixer(e, do_verbose=args.v)

if args.a:
    from recon import Recon
    recon = Recon(erimp=e)
    recons = recon.fill('available')
    for repcode in recons:
        doc = recon.doc(repcode, add_state=[])
        print(docing.show(doc))
    sys.exit(0)

if e.given_repcode is None:
    print("give me a repcode")
    sys.exit(0)

if args.t:
    mtime = recon.mtime(e.given_repcode)
    print(mtime)
    sys.exit()

repcode = e.given_repcode
doc = recon.amf_doc(repcode, add_state=None)
if args.f:
    doc = rixer.flatten(doc)
if args.c:
    doc = rixer.remove_history(doc)

if not args.v:
    print(docing.show(doc))
quit()
#print(doc)
## compare with assemb
fudi = e.dirs['etc'] + '/reports/available'
recon_fufi = fudi + '/' + repcode + '.amf.xml'
assem_repdoc = e.x.wrap_file_with_amf(recon_fufi)
#print(docing.show(assem_repdoc))
print(assem_repdoc)
