#!/usr/bin/python3

import argparse
import os
# import re
import sys

# from lxml import etree

from erimp import Erimp
from xpafs import Xpafs
import jafed
import filer
import docing

desc = 'test jafed library'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
parser.add_argument('-n', action='store_true', help='no send')
parser.add_argument('-f', action='store_true', help='issue file')
parser.add_argument('bapis', metavar='bnp', type=str, nargs='*',
                    help='bits and pieces arguments')
args = parser.parse_args()

if len(args.bapis) == 0:
    print("I need a file argument.")
    sys.exit()
fufi = args.bapis[0]
if not os.path.isfile(fufi):
    print(f"I need a file, not {fufi}")
    sys.exit()

## we still need the import to use the xpafs
e = Erimp(args.bapis, do_verbose=args.v)
xpafs = Xpafs(e, do_verbose=True)
doc = filer.parse_lax(fufi)
# print(docing.show(doc))
text_ele = xpafs.one(doc, '/e:oporp/e:meta/e:raw')
octets = text_ele.text.encode()
data = jafed.parse_form_bytes(octets)
# print(data)
# data = data['_']
del data['_']['raw']
del data['_']
for key in data:
    print(key + ': ' + data[key])
# print(data)
