#!/usr/bin/python3

import argparse
import glob
import os

import shutil
import shotiser

from erimp import Erimp
# from train import Train

#run.check(do_print=None)
#if run.has_something_with('release', do_print=None):
#    quit()

desc = 'model sigs'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='raise verbosity')
parser.add_argument('-r', action='store_true', help='clear vemlis')
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)


# t = Train(erimp=e, do_verbose=args.v)

# # this needs changing for NEP
repcodes = e.o.by_train_size()
count_models = 0
sigs = {}
for repcode in repcodes:
    if e.report[repcode].bremse_level() > 0:
        # print("model_sigss: " + repcode + " is bremsed.")
        continue
    shoti = shotiser.now()
    mocla_dir = e.report[repcode].dirs['mocla']
    if os.path.isdir(mocla_dir):
        model_glob = mocla_dir + '/*.model'
        model_fufis = glob.glob(model_glob)
        count_models = len(model_fufis)
        if count_models == 0:
            print("model_sigss: no model for " + repcode)
            continue
        if count_models > 1:
            print("model_sigss: " + str(count_models) + "models for "
                  + repcode)
            continue
        model_bana = os.path.basename(model_fufis[0])
        sig = model_bana[:-6]
        if sig not in sigs:
            sigs[sig] = [repcode]
        else:
            sigs[sig].append(repcode)
# print(sigs)

vemli_fudi = e.dirs['vemli']
vemli_fufis = glob.glob(vemli_fudi + '/*.json.gz')
for vemli_fufi in vemli_fufis:
    bana = os.path.basename(vemli_fufi)
    sig = bana[11:-8]
    if sig in sigs:
        continue
    target = vemli_fufi + '.gone'
    shutil.move(vemli_fufi, target)
quit()
