#!/usr/bin/python3

import argparse
import os
import sys

from erimp import Erimp
from dexis import Dexis

desc = 'dexis'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
parser.add_argument('-f', type=str, help='use this input file')
parser.add_argument('-I', action='store_true', help='feed issues to redis')
parser.add_argument('-i', type=str, help='ingest issuedate')
parser.add_argument('-l', type=str, help='lookup papid')
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)
dexis = Dexis(e)

if args.I:
    dexis.ingest()
    sys.exit()

if args.i:
    dexis.ingest(only_issuedate=args.i)
    sys.exit()

if args.l is not None:
    out = dexis.lookup(args.l)
    print(out)
    sys.exit()

if args.f is None:
    if args.v:
        print("I udpdate all issues")
    dexis.update_all_issues()
    sys.exit()

# # brown period
in_fufi = args.f
if not os.path.isfile(in_fufi):
    print(f"I don't see your file {in_fufi}.")
    quit()

# # get the issuedate from the in_fufi
in_bana = os.path.basename(in_fufi)
# # in brown period, no need for this to be an official issuedate
issuedate = in_bana[0:10]
dexis.set_issuedate(issuedate, doc_fufi=in_fufi)
dexis.update_issue(issuedate, doc_fufi=in_fufi)
