From 4f36e835d2878e18dc5322e12865631267cc8c82 Mon Sep 17 00:00:00 2001 From: Sergei Kobelev Date: Mon, 18 Dec 2023 12:29:33 +0500 Subject: [PATCH] feat: support of loading ResultSrpid objects from JSON (#422) --- sportorg/gui/main_window.py | 5 ++++- sportorg/models/memory.py | 3 +++ sportorg/modules/live/orgeo.py | 3 +++ sportorg/modules/teamwork/packet_header.py | 2 ++ 4 files changed, 12 insertions(+), 1 deletion(-) diff --git a/sportorg/gui/main_window.py b/sportorg/gui/main_window.py index 64ad959b..18354b7b 100644 --- a/sportorg/gui/main_window.py +++ b/sportorg/gui/main_window.py @@ -146,13 +146,16 @@ def teamwork(self, command): race().update_data(command.data) # logging.info(repr(command.data)) # if 'object' in command.data and command.data['object'] in - # ['ResultManual', 'ResultSportident', 'ResultSFR', 'ResultSportiduino']: + + # ['ResultManual', 'ResultSportident', 'ResultSFR', 'ResultSportiduino' etc.]: if command.header.obj_type in [ ObjectTypes.Result.value, ObjectTypes.ResultManual.value, ObjectTypes.ResultSportident.value, ObjectTypes.ResultSFR.value, ObjectTypes.ResultSportiduino.value, + ObjectTypes.ResultSrpid.value, + ObjectTypes.ResultRfidImpinj.value, ]: self.deleyed_res_recalculate(1000) Broker().produce('teamwork_recieving', command.data) diff --git a/sportorg/models/memory.py b/sportorg/models/memory.py index 7b8ad384..3dbd5e6e 100644 --- a/sportorg/models/memory.py +++ b/sportorg/models/memory.py @@ -1393,6 +1393,7 @@ class Race(Model): 'ResultSFR': ResultSFR, 'ResultSportiduino': ResultSportiduino, 'ResultRfidImpinj': ResultRfidImpinj, + 'ResultSrpid': ResultSrpid, 'Group': Group, 'Course': Course, 'Organization': Organization, @@ -1424,6 +1425,7 @@ def list_obj(self): 'ResultSFR': self.results, 'ResultSportiduino': self.results, 'ResultRfidImpinj': self.results, + 'ResultSrpid': self.results, 'Group': self.groups, 'Course': self.courses, 'Organization': self.organizations, @@ -1568,6 +1570,7 @@ def update_obj(self, obj, dict_obj): 'ResultSFR', 'ResultSportiduino', 'ResultRfidImpinj', + 'ResultSrpid', ]: obj.person = self.get_obj('Person', dict_obj['person_id']) elif dict_obj['object'] == 'Group': diff --git a/sportorg/modules/live/orgeo.py b/sportorg/modules/live/orgeo.py index 051120f3..ad08bb38 100644 --- a/sportorg/modules/live/orgeo.py +++ b/sportorg/modules/live/orgeo.py @@ -211,6 +211,7 @@ async def create(url, data, race_data, log, *, session): 'ResultSFR', 'ResultManual', 'ResultRfidImpinj', + 'ResultSrpid', ]: person_data = _get_person(item, race_data) if person_data: @@ -253,6 +254,7 @@ async def create_online_cp(url, data, race_data, log, *, session): 'ResultSFR', 'ResultManual', 'ResultRfidImpinj', + 'ResultSrpid', ]: try: res = _get_result_by_id(item, race_data) @@ -322,6 +324,7 @@ async def delete(url, data, race_data, log, *, session): 'ResultSFR', 'ResultManual', 'ResultRfidImpinj', + 'ResultSrpid', ]: person_data = _get_person(item, race_data) if person_data: diff --git a/sportorg/modules/teamwork/packet_header.py b/sportorg/modules/teamwork/packet_header.py index ce21b422..e63e4e09 100644 --- a/sportorg/modules/teamwork/packet_header.py +++ b/sportorg/modules/teamwork/packet_header.py @@ -21,6 +21,8 @@ class ObjectTypes(Enum): ResultSportident = 7 ResultSFR = 8 ResultSportiduino = 9 + ResultRfidImpinj = 10 + ResultSrpid = 11 Unknown = 255 def __str__(self):