#!python

import argparse
import yaml

from src.lib import *


parser = argparse.ArgumentParser()
parser.add_argument("--conf", help="configuration", default="techdebt.yml")

args = parser.parse_args()

conf_file = args.conf

if os.path.isfile(conf_file):

    with open(conf_file) as f:
        options = yaml.load(f)

    folders = options['folder']

    excluded_folders = folders['excluded']
    included_folders = folders['included']

    extensions = options['extensions']
    scores = options['scores']

    if 'plugins' in options:
        plugin_stats = get_debt_from_plugins(options['plugins'])

    debts = analyse_debt(included_folders, extensions, excluded_folders)
    debt_statistics = compute_debt_statistics(debts, scores)

    print_stats(debt_statistics)
    for debt in debts:
        print("---debt: ", debt['file'], debt['line'], debt['debt_type'], debt['comment'])
    plot_debt(debt_statistics)



else:
    print('configuration file {} not found'.format(conf_file))
