#!python

import sideeye
from tkinter import Tk
from tkinter.filedialog import askopenfilename, askopenfilenames, asksaveasfilename

Tk().withdraw()

CONFIG_FILE = askopenfilename(
    title="Select configuration JSON file", filetypes=[("JSON", "*.json")]
)

CONFIG = sideeye.config.Configuration(CONFIG_FILE if CONFIG_FILE else None)

ASC_FILES = askopenfilenames(
    title="Select ASC or DA1 files",
    filetypes=[("DA1 Files", "*.DA1"), ("ASC Files", "*.ASC")],
    multiple=True,
)


REGION_FILE = askopenfilename(
    title="Select region file", filetypes=[("Region Files", "*.reg *.cnt")]
)

OUTPUT_FILE = asksaveasfilename(
    title="Select output file", filetypes=[("CSV", "*.csv")]
)

EXPERIMENTS = sideeye.parser.experiment.parse_files(ASC_FILES, REGION_FILE, CONFIG)

sideeye.calculate_all_measures(EXPERIMENTS, OUTPUT_FILE, CONFIG)
