diff --git a/main.py b/main.py deleted file mode 100644 index e674771..0000000 --- a/main.py +++ /dev/null @@ -1,140 +0,0 @@ -import datetime -import csv -import sqlite3 -import re -from rich.console import Console -from rich.table import Table -from rich.traceback import install -import xml.etree.ElementTree as ET -install(show_locals=True) -class runner: - def __init__(self, first, last, club, country, card, o_class, controls, splits): - self.first = first - self.last = last - self.club = club - self.country = country - self.card = card - self.o_class = o_class - self.controls = controls - self.splits = splits - - def fullname(self): - return '{} {}'.format(self.first, self.last) - -class course: - def __init__(self, name, codes): - self.name = name - self.codes = codes - -class o_class: - def __init__(self, name, course): - self.name = name - self.course = course - -def import_ttime_conf(ttime_file = 'sc_2021_ttime/ttime.cnf.txt'): - courses = [] - o_classes = [] - conf = open(ttime_file).readlines() - for line in conf: - if '-codes' in line: - code_list = re.search(r'(?<=\")(.*?)(?=\")', line).group().split(';') - loops = 0 - for n in code_list: - n = n.split(',') - loops += 1 - courses.append(course('course_'+str(loops), n)) - print(n) - print(courses) - print(courses[1].name) - elif '-courses' in line: - raw_courselist = re.search(r'(?<=\")(.*?)(?=\")', line).group().split(';') - loops = 0 - for n in raw_courselist: - n.split(',') - for i in n: - o_classes.append(o_class(i,courses[loops])) - loops += 1 - print(o_classes[1].course.codes) - - - -def xml_to_class(xml_file = 'entries_KOK_Sommercup,_løp_2.xml'): - tree = ET.parse(xml_file) - root = tree.getroot() - runnerarray = [] - - for person_root in root[1:]: - first = person_root[1][1][1].text - last = person_root[1][1][0].text - try: - club = person_root[2][1].text - except: - club = "None" - country = person_root[1][3].text - try: - card = int(person_root[3].text) - except: - card = 0 - try: - o_class = person_root[4][1].text - except: - o_class = "None" - runnerarray.append(runner(first, last, club, country, card, o_class, [], [])) - return runnerarray -def ttime_mtr_to_class(csv_file, runnerarray): - csvreader = csv.reader(open(csv_file)) - fields = next(csvreader) - - fields = [] - rows = [] - # hver rad er brikkenummer med tilhørende info - for row in csvreader: - rows.append(row) - for row in rows: - controls = [] - splits = [] - # postkodene kommer på oddetall fra og med den 11. De blir hevet inn i controls - for item in row[11::2]: - if item != '000' and item != '0000' and item != '00000': - controls.append(int(item)) - # strekktidene kommer på partall fra og med den 12. De blir hevet i splits. - for item in row[12::2]: - if item != '000' and item != '0000' and item != '00000': - splits.append(int(item)) - print(row[6]) - # looper gjonnom løperobjektene og legger til poster og strekktider - for runner in runnerarray: - if runner.card == int(row[6]): - runner.controls = controls - runner.splits = splits -def print_table(Runners): - table = Table(title="Runners") - table.add_column("Name", justify="right", style="cyan", no_wrap=True) - table.add_column("club", style="magenta") - table.add_column("card", style="red") - table.add_column("class", justify="right", style="green") - - for i in Runners: - table.add_row(i.fullname(), i.club ,str(i.card), i.o_class) - - console = Console() - console.print(table) - -courses = [] -o_classes = [] - -if __name__ == "__main__": - import_ttime_conf() - Runners = xml_to_class() - #print(Runners[4].last) - #print_table(Runners) -#ttime_mtr_to_class('sc_2021_ttime/mtr.csv', Runners) -""" -for i in Runners: - print(i.first + ' ' + i.last) - print(i.controls) - #print(i.splits) - try: - print(str(datetime.timedelta(seconds = i.splits[-1]))) - except: print('ikke deltatt') -"""