Funksjon som sjekker om løpet er godkjent.
This commit is contained in:
parent
944b9d0fd6
commit
64121fa324
22
cli.py
22
cli.py
@ -1,5 +1,6 @@
|
|||||||
import otime
|
import otime
|
||||||
|
|
||||||
|
import datetime
|
||||||
from rich.console import Console
|
from rich.console import Console
|
||||||
from rich.table import Table
|
from rich.table import Table
|
||||||
def print_runners(Runners):
|
def print_runners(Runners):
|
||||||
@ -13,6 +14,22 @@ def print_runners(Runners):
|
|||||||
for i in Runners:
|
for i in Runners:
|
||||||
table.add_row(i.fullname(), i.club ,str(i.card), i.o_class.name, str(i.controls))
|
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="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", style="green")
|
||||||
|
table.add_column("controls", 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 = Console()
|
||||||
console.print(table)
|
console.print(table)
|
||||||
def print_o_classes(class_list):
|
def print_o_classes(class_list):
|
||||||
@ -33,5 +50,6 @@ if __name__ == "__main__":
|
|||||||
runner_list = otime.xml_to_class('entries_KOK_Sommercup,_løp_2.xml', 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)
|
otime.ttime_mtr_to_class('sc_2021_ttime/mtr.csv', runner_list)
|
||||||
print_runners(runner_list)
|
print_runners(runner_list)
|
||||||
print_o_classes(o_classes)
|
print_time(runner_list)
|
||||||
otime.check_codes(runner_list[21], o_classes)
|
#print_o_classes(o_classes)
|
||||||
|
#print(otime.check_codes(runner_list[1]))
|
||||||
|
21
otime.py
21
otime.py
@ -20,6 +20,11 @@ class runner:
|
|||||||
|
|
||||||
def fullname(self):
|
def fullname(self):
|
||||||
return '{} {}'.format(self.first, self.last)
|
return '{} {}'.format(self.first, self.last)
|
||||||
|
# Returns False if not ok and touple if ok
|
||||||
|
def check_codes(self):
|
||||||
|
return contains(self.o_class.course.codes, self.controls)
|
||||||
|
def totaltime(self):
|
||||||
|
return self.splits[-2]
|
||||||
|
|
||||||
class course:
|
class course:
|
||||||
def __init__(self, name, codes):
|
def __init__(self, name, codes):
|
||||||
@ -115,9 +120,15 @@ def ttime_mtr_to_class(csv_file, runnerarray):
|
|||||||
if runner.card == int(row[6]):
|
if runner.card == int(row[6]):
|
||||||
runner.controls = controls
|
runner.controls = controls
|
||||||
runner.splits = splits
|
runner.splits = splits
|
||||||
def check_codes(runner, course_list):
|
|
||||||
print(runner.fullname())
|
def contains(small, big):
|
||||||
print(runner.o_class.name)
|
for i in range(len(big)-len(small)+1):
|
||||||
print(runner.controls)
|
for j in range(len(small)):
|
||||||
print(runner.o_class.course.codes)
|
if big[i+j] != small[j]:
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
return i, i+len(small)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user