From 7e7f295f8d38c148b60bd5112458d961d6cd7ed5 Mon Sep 17 00:00:00 2001
From: Andreas Hubel <andi@saerdnaer.de>
Date: Mon, 25 Dec 2023 01:17:24 +0100
Subject: [PATCH] fix: only add host when logo is not already a full url

---
 src/core/schedules/schedulejson.py | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/core/schedules/schedulejson.py b/src/core/schedules/schedulejson.py
index ed9e9d90e..775e5a23b 100644
--- a/src/core/schedules/schedulejson.py
+++ b/src/core/schedules/schedulejson.py
@@ -46,6 +46,13 @@ class ScheduleJSONSupport(BaseScheduleSupport):
 
         kind = self.conf_value('kind')
 
+        def ensure_full_url(uri):
+            if not uri:
+                return None
+            if not uri.startswith('http') and not uri.startswith('//'):
+                return f'{host}{uri}'
+            return uri
+
         return {
             'version': schedule.version(),
             'rooms': {r['name']: r for r in schedule.rooms()},
@@ -66,7 +73,7 @@ class ScheduleJSONSupport(BaseScheduleSupport):
                     'is_public': True,
                     'kind': kind,
                     'speakers': e.get('persons', []),
-                    'banner_image_url': f"{host}{e.get('logo')}" if e.get('logo') else None,
+                    'banner_image_url': ensure_full_url(e.get('logo')),
                     'additional_data': filter_additional_data(e, self.computed_data(e)),
                 }
                 for e in schedule.events()
-- 
GitLab