#!/usr/bin/python3

import argparse
import os
import sys
import subprocess

from erimp import Erimp
from oporp import Oporp

desc = 'emacs edit report and edit configs'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
# parser.add_argument('-o', action='store_true', help='overwrite existing')
# parser.add_argument('-r', action='store_true', help='reparse form')
# parser.add_argument('-a', action='store_true', help='do all')
parser.add_argument('repcode', type=str, nargs='?',
                    help='suggested repcode')
parser.add_argument('edicode', type=str, nargs='?',
                    help='suggested editor handle')
args = parser.parse_args()

# # this assumes the impna as the environment
if 'IMPNA' not in os.environ:
    print("the impna must be set in the enviroment")
    sys.exit()

impna = os.environ['IMPNA']
bapis = [impna]
e = Erimp(bapis, do_verbose=args.v)

# # if we don't give a repcode, just show the title
if args.repcode is None:
    print("I seed a repcode")
    sys.exit()

if args.edicode is None:
    print("I need an editor handle")
    sys.exit()

repcode = args.repcode
edicode = args.edicode

if '-' not in repcode:
    repcode = impna + '-' + repcode

amf_ext = e.abovo.constants['ext_amf']
report_fufi = e.dirs['avail'] + '/' + repcode + amf_ext
editor_fufi = e.dirs['staff'] + '/' + edicode + amf_ext

print(report_fufi + ' ' + editor_fufi)

s = f"/usr/bin/emacs {report_fufi} {editor_fufi}"
subprocess.run(s, shell=True, check=True)
