2022-03-13 20:19:07 +00:00
|
|
|
#!/usr/bin/env python
|
2022-03-11 14:33:09 +00:00
|
|
|
import otime
|
|
|
|
import pickle
|
2022-03-13 16:33:26 +00:00
|
|
|
import asyncio
|
2022-03-13 20:19:07 +00:00
|
|
|
from difflib import Differ
|
2022-03-13 16:33:26 +00:00
|
|
|
from watchgod import awatch
|
2022-03-11 14:33:09 +00:00
|
|
|
from config import config
|
|
|
|
from rich import print
|
|
|
|
from rich import inspect
|
|
|
|
from rich.console import Console
|
|
|
|
from rich.columns import Columns
|
|
|
|
from rich.table import Table
|
|
|
|
|
2022-03-13 16:33:26 +00:00
|
|
|
def start():
|
2022-03-16 20:28:49 +00:00
|
|
|
global event
|
2022-03-11 14:33:09 +00:00
|
|
|
event = otime.event(0, config['event_name'])
|
|
|
|
event.import_ttime_cnf('/home/trygve/Documents/sprintcup040330/sprintcup040330.cnf')
|
|
|
|
event.import_ttime_db(config['db_file'])
|
|
|
|
event.import_mtr_file('/home/trygve/Documents/sprintcup040330/sprintcup040330.log')
|
|
|
|
event.match_runners_cards()
|
2022-03-16 20:28:49 +00:00
|
|
|
#event.get_xml_res().write(config['xml_res_file'])
|
|
|
|
global db_file
|
|
|
|
global db_file_u
|
|
|
|
db_file = open(config['db_file'], 'r', encoding='latin_1').read().splitlines()
|
2022-03-11 14:33:09 +00:00
|
|
|
|
2022-03-13 16:33:26 +00:00
|
|
|
async def main():
|
|
|
|
async for changes in awatch(config['db_file']):
|
2022-03-13 20:19:07 +00:00
|
|
|
#print(dir(changes))
|
2022-03-16 20:28:49 +00:00
|
|
|
#print(changes.difference()
|
|
|
|
global event
|
|
|
|
global db_file
|
|
|
|
global db_file_u
|
|
|
|
db_file_u = open(config['db_file'], 'r', encoding='latin_1').read().splitlines()
|
2022-03-13 20:19:07 +00:00
|
|
|
d = Differ()
|
|
|
|
result = list(d.compare(db_file, db_file_u))
|
2022-03-16 20:28:49 +00:00
|
|
|
db_file = db_file_u
|
2022-03-13 20:19:07 +00:00
|
|
|
|
|
|
|
for line in result:
|
|
|
|
if line[:1] == '+':
|
|
|
|
print(line)
|
2022-03-16 20:28:49 +00:00
|
|
|
clean = str(line).replace('+ ', '').split(';')
|
|
|
|
runner = otime.runner.from_string(clean, event.o_classes)
|
|
|
|
inspect(runner)
|
|
|
|
for i, n in enumerate(event.runners):
|
|
|
|
if n.id == runner.id:
|
|
|
|
inspect(n)
|
|
|
|
event.runners[i] = runner
|
|
|
|
inspect(n)
|
|
|
|
event.match_runners_cards()
|
|
|
|
inspect(n)
|
|
|
|
|
|
|
|
elif line[:1] == '-':
|
|
|
|
print(line)
|
|
|
|
print('MINUS')
|
|
|
|
clean = str(line).replace('- ', '').split(';')
|
|
|
|
r_id = clean[1]
|
|
|
|
print(r_id)
|
|
|
|
for i, n in enumerate(event.runners):
|
|
|
|
if n.id == r_id:
|
|
|
|
inspect(n)
|
|
|
|
print(len(event.runners))
|
|
|
|
event.runners.remove(n)
|
|
|
|
print(len(event.runners))
|
|
|
|
|
2022-03-13 20:19:07 +00:00
|
|
|
|
2022-03-16 20:28:49 +00:00
|
|
|
db_file_u = None
|
2022-03-11 14:33:09 +00:00
|
|
|
if __name__ == "__main__":
|
2022-03-13 16:33:26 +00:00
|
|
|
start()
|
|
|
|
asyncio.run(main())
|