#!/usr/bin/python3

import argparse
import glob
import os
import shutil
import sys

from erimp import Erimp

desc = 'make a report still born'
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')
parser.add_argument('-m', metavar='min', type=int, nargs='?',
                    help='minimum issues')
args = parser.parse_args()

e = Erimp(args.bapis, do_verbose=args.v)

repcode = e.given_repcode
if repcode is None:
    print("I can't figure out what your report is.")
    sys.exit()

amf_ext = e.ext['amf']
enabl_fufi = e.dirs['etc'] + '/reports/enabled/' + repcode + amf_ext
if os.path.islink(enabl_fufi):
    os.remove(enabl_fufi)
stibu_fufi = e.dirs['etc'] + '/reports/stillborn/' + repcode + amf_ext
if os.path.isfile(stibu_fufi):
    print(f"{repcode} is marked stillborn.")
    sys.exit()

minis = args.m
if minis is None:
    minis = 7
report = e.report[repcode]
created_fudi = report.dirs['created']
count_created = len(glob.glob(created_fudi + '/*'))
if count_created > 0:
    print(f"I see files in {created_fudi}")
    sys.exit()
cache_fudi = e.report[repcode].dirs['mocla'] + '/../../cache/created'
# # misleading since these files are now removed
# count_cached = len(glob.glob(cache_fudi + '/*.html'))
# if count_cached < minis:
#    print(f"We only tried {count_cached} times, i.e. less than {minis}.")
#    sys.exit()

avail_fufi = e.dirs['etc'] + '/reports/available/' + repcode + amf_ext
if os.path.isfile(avail_fufi):
    shutil.move(avail_fufi, stibu_fufi)

report_fudi = e.dirs['reports'] + '/' + repcode
# print(f"rm -rf {report_fudi}")
shutil.rmtree(report_fudi)
