forked from Trygve/otime
75 lines
2.8 KiB
Python
75 lines
2.8 KiB
Python
import otime
|
|
|
|
import datetime
|
|
from rich.console import Console
|
|
from rich.table import Table
|
|
def print_runners(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")
|
|
table.add_column("controls", justify="right", style="blue")
|
|
|
|
for i in Runners:
|
|
table.add_row(i.fullname(), i.club ,str(i.card), i.o_class.name, str(i.controls))
|
|
|
|
console = Console()
|
|
console.print(table)
|
|
def print_time(Runners):
|
|
table = Table(title="Time")
|
|
table.add_column("Name", justify="right", style="cyan", no_wrap=True)
|
|
table.add_column("club", style="magenta")
|
|
table.add_column("splits", style="red")
|
|
table.add_column("Check", style="green")
|
|
table.add_column("Time", justify="right", style="blue")
|
|
for i in Runners:
|
|
try:
|
|
tottime = datetime.timedelta(seconds = i.totaltime())
|
|
except:
|
|
tottime = 0
|
|
table.add_row(i.fullname(), i.o_class.name, str(i.splits), str(i.check_codes()), str(tottime))
|
|
|
|
console = Console()
|
|
console.print(table)
|
|
def print_class_splits(runners, o_class):
|
|
table = Table(title=o_class.name)
|
|
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")
|
|
table.add_column("controls", justify="right", style="blue")
|
|
for i in o_class.course.codes:
|
|
table.add_column(str(i))
|
|
|
|
for i in runners:
|
|
if i.o_class == o_class:
|
|
table.add_row(i.fullname(), i.club ,str(i.card))
|
|
|
|
console = Console()
|
|
console.print(table)
|
|
def print_o_classes(class_list):
|
|
table = Table(title="Classes")
|
|
table.add_column("Class", justify="right", style="cyan", no_wrap=True)
|
|
table.add_column("Course", style="magenta")
|
|
table.add_column("Controls", justify="right", style="green")
|
|
|
|
for i in class_list:
|
|
table.add_row(i.name, i.course.name , str(i.course.codes))
|
|
|
|
console = Console()
|
|
console.print(table)
|
|
|
|
if __name__ == "__main__":
|
|
courses = otime.courses_from_ttime_conf('sc_2021_ttime/ttime.cnf.txt')
|
|
o_classes = otime.classes_from_ttime_conf('sc_2021_ttime/ttime.cnf.txt', courses)
|
|
runner_list = otime.ttime_db_to_class('sc_2021_ttime/db_eventor.csv', o_classes)
|
|
#runner_list = otime.xml_to_class('entries_KOK_Sommercup,_løp_2.xml', o_classes)
|
|
otime.ttime_mtr_to_class('sc_2021_ttime/mtr.csv', runner_list)
|
|
print_runners(runner_list)
|
|
#print_time(runner_list)
|
|
#print_o_classes(o_classes)
|
|
#print_class_splits(runner_list, o_classes[0])
|
|
#print(otime.check_codes(runner_list[1]))
|
|
print(otime.gen_xml_result(runner_list, o_classes))
|