Kommandoverktøy som kan bruke alle otime funksjoner
This commit is contained in:
parent
a037abe820
commit
88ba0c9da9
189
wizard.py
Normal file
189
wizard.py
Normal file
@ -0,0 +1,189 @@
|
|||||||
|
import otime
|
||||||
|
import cli
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from rich import inspect
|
||||||
|
|
||||||
|
def main():
|
||||||
|
global event
|
||||||
|
while True:
|
||||||
|
print(''' 1. import
|
||||||
|
2. export
|
||||||
|
3. edit
|
||||||
|
4. view tables
|
||||||
|
5. exit''')
|
||||||
|
try:
|
||||||
|
opt = int(input('Choose an option (1-4): '))
|
||||||
|
except ValueError:
|
||||||
|
print('Not a valid option!')
|
||||||
|
continue
|
||||||
|
match opt:
|
||||||
|
case 1:
|
||||||
|
import_menu()
|
||||||
|
case 2:
|
||||||
|
print('export')
|
||||||
|
case 3:
|
||||||
|
print('edit')
|
||||||
|
case 4:
|
||||||
|
table_menu()
|
||||||
|
case 5:
|
||||||
|
print('Goodbye!')
|
||||||
|
sys.exit()
|
||||||
|
|
||||||
|
def import_menu():
|
||||||
|
global event
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
print(''' 1. import otime file
|
||||||
|
2. Import xml EntryList
|
||||||
|
3. Import mtr file (Latin-1)
|
||||||
|
4. Import mtr file (utf-8)
|
||||||
|
5. Import ttime db (Latin-1)
|
||||||
|
6. Import ttime db (utf-8)
|
||||||
|
7. Import ttime config (Latin-1)
|
||||||
|
8. Import ttime config (utf-8)
|
||||||
|
9. Match runners with cards and classes, and o_classes with courses
|
||||||
|
10. Back''')
|
||||||
|
try:
|
||||||
|
opt = int(input('Choose an option (1-10): '))
|
||||||
|
except ValueError:
|
||||||
|
print('Not a valid option!')
|
||||||
|
continue
|
||||||
|
match opt:
|
||||||
|
case 1:
|
||||||
|
n = len(event.runners)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r')
|
||||||
|
event = otime.Event.from_json(f)
|
||||||
|
nn = len(event.runners)
|
||||||
|
print('Added '+ str(nn-n) +' runners')
|
||||||
|
case 2:
|
||||||
|
n = len(event.runners)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r')
|
||||||
|
event.import_xml_entries(f)
|
||||||
|
nn = len(event.runners)
|
||||||
|
print('Added '+ str(nn-n) +' runners')
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
n = len(event.card_dumps)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r', encoding='latin_1')
|
||||||
|
event.import_mtr_file(f)
|
||||||
|
nn = len(event.card_dumps)
|
||||||
|
print('Added '+ str(nn-n) +' cards')
|
||||||
|
|
||||||
|
case 4:
|
||||||
|
n = len(event.card_dumps)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r')
|
||||||
|
event.import_mtr_file(f)
|
||||||
|
nn = len(event.card_dumps)
|
||||||
|
print('Added '+ str(nn-n) +' cards')
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
n = len(event.runners)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r', encoding='latin_1')
|
||||||
|
event.import_ttime_db(f)
|
||||||
|
nn = len(event.runners)
|
||||||
|
print('Added '+ str(nn-n) +' runners')
|
||||||
|
|
||||||
|
case 6:
|
||||||
|
n = len(event.runners)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r')
|
||||||
|
event.import_ttime_db(f)
|
||||||
|
nn = len(event.runners)
|
||||||
|
print('Added '+ str(nn-n) +' runners')
|
||||||
|
|
||||||
|
case 7:
|
||||||
|
n = len(event.courses)
|
||||||
|
k = len(event.o_classes)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r', encoding='latin-1')
|
||||||
|
event.import_ttime_cnf(f)
|
||||||
|
nn = len(event.courses)
|
||||||
|
kk = len(event.o_classes)
|
||||||
|
print('Added '+ str(nn-n) +' courses and '+ str(kk-k) +' classes')
|
||||||
|
|
||||||
|
case 8:
|
||||||
|
n = len(event.courses)
|
||||||
|
k = len(event.o_classes)
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'r')
|
||||||
|
event.import_ttime_cnf(f)
|
||||||
|
nn = len(event.courses)
|
||||||
|
kk = len(event.o_classes)
|
||||||
|
print('Added '+ str(nn-n) +' courses and '+ str(kk-k) +' classes')
|
||||||
|
|
||||||
|
case 9:
|
||||||
|
event.match_all()
|
||||||
|
|
||||||
|
case 10:
|
||||||
|
break
|
||||||
|
except FileNotFoundError:
|
||||||
|
print('No such file or directory!')
|
||||||
|
|
||||||
|
except IsADirectoryError:
|
||||||
|
print('This is a directory, not a file!')
|
||||||
|
def export_menu():
|
||||||
|
global event
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
print(''' 1. export otime file
|
||||||
|
2. Back''')
|
||||||
|
try:
|
||||||
|
opt = int(input('Choose an option (1-2): '))
|
||||||
|
except ValueError:
|
||||||
|
print('Not a valid option!')
|
||||||
|
continue
|
||||||
|
match opt:
|
||||||
|
case 1:
|
||||||
|
filename = input('File: ')
|
||||||
|
f = open(filename, 'w')
|
||||||
|
f.write(event.create_json_file)
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
break
|
||||||
|
|
||||||
|
except FileNotFoundError:
|
||||||
|
print('No such file or directory!')
|
||||||
|
|
||||||
|
except IsADirectoryError:
|
||||||
|
print('This is a directory, not a file!')
|
||||||
|
|
||||||
|
def table_menu():
|
||||||
|
global event
|
||||||
|
while True:
|
||||||
|
print(''' 1. View runners
|
||||||
|
2. View courses and classes
|
||||||
|
3. Show result
|
||||||
|
4. Show splits
|
||||||
|
5. back''')
|
||||||
|
try:
|
||||||
|
opt = int(input('Choose an option (1-6): '))
|
||||||
|
except ValueError:
|
||||||
|
print('Not a valid option!')
|
||||||
|
continue
|
||||||
|
match opt:
|
||||||
|
case 1:
|
||||||
|
cli.print_runners(event.runners)
|
||||||
|
|
||||||
|
case 2:
|
||||||
|
cli.print_o_classes(event.o_classes)
|
||||||
|
|
||||||
|
case 3:
|
||||||
|
for o_class in event.o_classes:
|
||||||
|
cli.print_class_result(event.runners, o_class)
|
||||||
|
case 4:
|
||||||
|
for o_class in event.o_classes:
|
||||||
|
cli.print_class_splits(event.runners, o_class)
|
||||||
|
|
||||||
|
case 5:
|
||||||
|
break
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
global event
|
||||||
|
event = otime.Event('0','NoName')
|
||||||
|
main()
|
Loading…
Reference in New Issue
Block a user