#!python

import os
import sys
import json
import argparse
import logconfig
import logging.config

from tqdm import tqdm
from bs4 import BeautifulSoup
from parse_hh_data.parse import resume

if __name__ == "__main__":

    parser = argparse.ArgumentParser()

    parser.add_argument("path_html")
    parser.add_argument("path_json")
    parser.add_argument("--view_progress_bar", action='store_true')
    parser.add_argument("--log", choices=["BASE", "DEBUG"], default="BASE")

    args = parser.parse_args()

    config = logconfig.__dict__[args.log]
    logging.config.dictConfig(config)

    resume_names = os.listdir(args.path_html)
    if args.view_progress_bar:
        resume_names = tqdm(resume_names, file=sys.stdout)

    for resume_name in resume_names:
        with open(os.path.join(args.path_html, resume_name)) as fl:
            page = BeautifulSoup(fl.read(), 'html.parser')

        resume_name = os.path.splitext(resume_name)[0]

        logging.debug(f"{resume_name}: readed")

        with open(os.path.join(args.path_json, resume_name + ".json"), "w") as fl:
            json.dump(resume(page), fl)

        logging.debug(f"{resume_name}: parsed and saved resume")
