From bb7a9c5eff516baa53fff9e4010d008d77558f67 Mon Sep 17 00:00:00 2001 From: Andreas Hubel <andi@saerdnaer.de> Date: Wed, 25 Dec 2024 12:29:55 +0100 Subject: [PATCH] feat(scheduleimport): add legacy_id_offset option --- src/core/schedules/schedulejson.py | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/src/core/schedules/schedulejson.py b/src/core/schedules/schedulejson.py index 63063eae8..32a603c5d 100644 --- a/src/core/schedules/schedulejson.py +++ b/src/core/schedules/schedulejson.py @@ -22,6 +22,7 @@ class ScheduleJSONSupport(BaseScheduleSupport): 'kind': ('string', 'assembly', False, 'kind of events, either `assembly` or `official` or `sos` or `lightning`'), 'headers': ('dict', {}, False, 'HTTP headers to send with the request e.g. Authorization'), 'auth': ('string', None, False, 'HTTP Authentification header e.g. `Token 123456`'), + 'legacy_id_offset': ('int', None, False, 'Offset to add to the legacy integer `id` to avoid collisions with other sources'), } # fmt: on @@ -91,10 +92,16 @@ class ScheduleJSONSupport(BaseScheduleSupport): } def computed_data(self, event: dict): - # TODO only add feedback_url if feedback is enabled via configuraiton_fields in ScheduleSource config + data = {} + data['origin_url'] = event['url'] + + # add feedback_url if feedback is enabled via configuraiton_fields in ScheduleSource config if self.conf_value('feedback'): - return {'feedback_url': f"{event['url']}feedback/"} - return {} + data['feedback_url'] = f"{event['url']}feedback/" + if self.conf_value('legacy_id_offset'): + data['id'] = event['id'] + self.conf_value('legacy_id_offset') + + return data class ScheduleJSON: -- GitLab