remove /api/station/register at unregister, now server handles it

This commit is contained in:
Martin Quarda 2025-04-04 10:18:13 +02:00
parent c4d7df8b5d
commit 8104096c0b
2 changed files with 20 additions and 20 deletions

View File

@ -1 +1 @@
[] []

View File

@ -52,18 +52,23 @@ class Worker(QtCore.QThread):
def __init__(self): def __init__(self):
super().__init__() super().__init__()
self.returned_state.connect(self.handle_returned_state) self.returned_state.connect(self.handle_returned_state)
self.worker_thread = threading.Thread(target=worker) self.worker_thread = threading.Thread(target=self.worker)
self.worker_thread.start() self.worker_thread.start()
def worker(): def worker(self):
while True: while True:
item = queue.get() item = queue.get()
log.append(item) log.append(item)
with open('log.json', 'w') as f: with open('log.json', 'w') as f:
f.write(json.dumps(log)) f.write(json.dumps(log))
response = session.post(item['url'], json=item['json']) response = session.post(item['url'], json=item['json'])
self.returned_state.emit(f'{response.status_code}') if response.status_code == 200:
if item.get('message'):
self.returned_state.emit(f'{item['message']}')
else:
if item.get('failed'):
self.returned_state.emit(f'{item['failed']}')
print(item, response) print(item, response)
def handle_returned_state(self, state): def handle_returned_state(self, state):
@ -86,19 +91,19 @@ def register_racer():
starting_number = max(filter(lambda r: r['starting_number'], racers), key=lambda racer: racer['starting_number'])['starting_number'] + 1 starting_number = max(filter(lambda r: r['starting_number'], racers), key=lambda racer: racer['starting_number'])['starting_number'] + 1
except ValueError: except ValueError:
starting_number = 1 starting_number = 1
racer = list(filter(lambda x: x['racer_id'] == racer_id, racers))[0]
queue.put({ queue.put({
'url': config['host'] + '/api/card/register', 'url': config['host'] + '/api/card/register',
'json': {'racer_id': racer_id, 'starting_number': starting_number, 'card_id': card_id} 'json': {'racer_id': racer_id, 'starting_number': starting_number, 'card_id': card_id, 'time': datetime.datetime.now().strftime('%d.%m.%Y %H:%M:%S.%f')},
'message': f"Úspěšné zaregistrování závodníka {racer['first_name']} {racer['last_name']} se startovním číslem {starting_number}!",
'failed': f"Neúspěšná registrace závodníka {racer['first_name']} {racer['last_name']}"
}) })
racer = list(filter(lambda x: x['racer_id'] == racer_id, racers))[0]
racer['card_id'] = card_id racer['card_id'] = card_id
racer['starting_number'] = starting_number racer['starting_number'] = starting_number
racer['started'] = False racer['started'] = False
updateRacers() updateRacers()
mb = QtWidgets.QMessageBox(text=f"Úspěšné zaregistrování závodníka {racer['first_name']} {racer['last_name']} se startovním číslem {starting_number}!")
mb.exec()
window = uic.loadUi("registrace.ui") window = uic.loadUi("registrace.ui")
@ -138,28 +143,23 @@ def updateLastCard(card_id):
racer = findByCard(card_id) racer = findByCard(card_id)
if racer: if racer:
if racer['started']: if racer['started']:
queue.put({
'url': config['host'] + '/api/station/register',
'json': {'card_id': card_id, 'time': time.strftime('%d.%m.%Y %H:%M:%S.%f'), 'station_id': 6}
})
racer = list(filter(lambda x: x['card_id'] == card_id, racers))[0] racer = list(filter(lambda x: x['card_id'] == card_id, racers))[0]
starting_number = racer['starting_number'] starting_number = racer['starting_number']
racer_id = racer['racer_id'] racer_id = racer['racer_id']
racer['card_id'] = None racer['card_id'] = None
queue.put({ queue.put({
'url': config['host'] + '/api/card/unregister', 'url': config['host'] + '/api/card/unregister',
'json': {'racer_id': racer_id, 'starting_number': starting_number, 'card_id': card_id}, 'json': {'racer_id': racer_id, 'starting_number': starting_number, 'card_id': card_id, 'time': time.strftime('%d.%m.%Y %H:%M:%S.%f')},
'message': f"Úspěšné odhlášení závodníka {starting_number}!",
'failed': f"Neúspěšné odhlášení karty závodníka {starting_number}"
}) })
#mb = QtWidgets.QMessageBox(text=f"Úspěšné odhlášení závodníka {starting_number}!")
#mb.exec()
else: else:
queue.put({ queue.put({
'url': config['host'] + '/api/station/register', 'url': config['host'] + '/api/station/register',
'json': {'card_id': card_id, 'time': last_time.strftime('%d.%m.%Y %H:%M:%S.%f'), 'station_id': 1}, 'json': {'card_id': card_id, 'time': time.strftime('%d.%m.%Y %H:%M:%S.%f'), 'station_id': 1},
'message': f"Úspěšné odstartování závodníka {racer['starting_number']}!",
'failed': f"Núspěšné odstartování závodníka {racer['starting_number']}!",
}) })
#mb = QtWidgets.QMessageBox(text=f"Úspěšné odstartování závodníka {racer['starting_number']}!")
#mb.exec()
racer['started'] = True racer['started'] = True
UsbCardReader(updateLastCard) UsbCardReader(updateLastCard)