if __name__ == '__main__':
    print("Program Started, build REST Client...")
    client = TeamscaleClient(TEAMSCALE_URL, USERNAME, ACCESS_TOKEN, PROJECT_ID)
    firstVersionTimestamp = 1519862400000
    versionsInterval = 86400000
    metricValuesAllVersions = dict()
    metricValuesAllVersions[0] = outputFileHeader
    for versionCntr in range(0,VERSIONS):      # range end is excluding
        if (versionCntr+1 >= VERSION_NEW_PATH_FROM):
            RELATIVE_PATH = NEW_RELATIVE_PATH
        if (versionCntr+1 > VERSION_NEW_PATH_TILL):
            RELATIVE_PATH = OLD_RELATIVE_PATH
        versionTimestamp = firstVersionTimestamp + versionCntr * versionsInterval + 10000000
        print("DEBUG: Processing version ", versionCntr+1, "    timestamp of REST request: ", versionTimestamp)
        parameters = {"t":"default:" + str(versionTimestamp), "configurationName":"Teamscale Default"}
        r = client.get(TEAMSCALE_URL + "/p/" + PROJECT_ID.lower() + "/metric-table/", parameters)
        metricValues = extract_values_from_JSON_resp(r.json())
        if(check_metricValues_contains_all_metrics(metricValues)):
            calculate_proportion_and_density_values(metricValues)
            metricValuesAllVersions[versionCntr+1] = get_ordered_metric_values(metricValues)
        else:
            print("ERROR: Program won't export metric values for version " , versionCntr + 1)
            metricValuesAllVersions[versionCntr+1] = ["ERROR: not all metric values could be queried"]
    print("DEBUG: Finished extracting metric values")
    f = create_output_csv_file()
    write_metric_values_to_output_file(f, metricValuesAllVersions)
    f.close()
    CSV_SEPERATOR_CHAR = ';'
    OUTPUT_FILE_NAME = "staticMetrics_excel_format.csv"
    f = create_output_csv_file()
    write_metric_values_to_output_file(f, metricValuesAllVersions)