#!/usr/bin/python3

import argparse
import random
# import time

import filing
import docing

from kapro import Kapro
from profile import Profile
from surks import Surks

desc = 'add kisu to profiles'
parser = argparse.ArgumentParser(description=desc)
parser.add_argument('-v', action='store_true', help='do verbose')
parser.add_argument('-m', type=int, help='max profiles')
args = parser.parse_args()

max_profiles = args.m
kapro = Kapro(do_verbose=args.v)
profile = Profile(do_verbose=args.v)

# # use profile file library, rather than kapro
lib = kapro.build_lib()
lib = kapro.load_lib()
count_profiles = 0
random.shuffle(lib)
for fufi in lib:
    if max_profiles is not None and count_profiles >= max_profiles:
        quit()
    count_profiles += 1
    doc = filing.parse_lax(fufi)
    if doc is None:
        print(f"nothing from {fufi}")
        continue
    surk = Surks()
    surk.emad = profile.emad_from_doc(doc)
    surk.urdate = profile.urdate(doc)
    surk.doc = doc
    doc = surk.add_kisus(doc)
    # print(docing.show(doc))
    ## writes only if there is a change
    #print(docing.show(doc))
    profile.write(doc)