#!/usr/bin/python3

import argparse
import os
import sys

import filer
import docing
from erimp import Erimp
from rixer import Rixer
from riffer import Riffer
from recon import Recon
from trans import Trans

desc = 'changes editor data in repis file'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
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)
in_fufi = args.bapis[0]

rixer = Rixer(e)
riffer = Riffer(e)
recon = Recon(e)

if not os.path.isfile(in_fufi):
    print(f"I don't see {in_fufi}")
    sys.exit()

repcode = riffer.repcode(in_fufi)
if repcode is None:
    print("I can't see a repcode for {in_fufi}")
    sys.exit(0)
haseditor_ele = recon.get_current_editor(repcode)
if haseditor_ele is None:
    print("I don't see an editor for {repcode}")
    sys.exit(0)

doc = filer.parse_lax(in_fufi)
if doc is None:
    sys.exit()
## changes doc
rixer.change_editor(doc, haseditor_ele)
filer.install_xml(doc.getroot(), '/tmp/apauto.xml')
