From a9cdc9e37ab79b6ebbcfb2a110e212fb1a7766a2 Mon Sep 17 00:00:00 2001 From: SergeantPanda Date: Fri, 30 May 2025 14:40:06 -0500 Subject: [PATCH] Support ?cachedlogos=false for epg as well. --- apps/output/views.py | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) diff --git a/apps/output/views.py b/apps/output/views.py index 23f6f0be..d550ec8d 100644 --- a/apps/output/views.py +++ b/apps/output/views.py @@ -198,15 +198,26 @@ def generate_epg(request, profile_name=None): formatted_channel_number = str(channel.channel_number) else: formatted_channel_number = str(channel.id) - + # Check if the request wants to use direct logo URLs instead of cache + use_cached_logos = request.GET.get('cachedlogos', 'true').lower() != 'false' + # Add channel logo if available + tvg_logo = "" + if channel.logo: + if use_cached_logos: + # Use cached logo as before + tvg_logo = request.build_absolute_uri(reverse('api:channels:logo-cache', args=[channel.logo.id])) + else: + # Try to find direct logo URL from channel's streams + direct_logo = channel.logo.url if channel.logo.url.startswith(('http://', 'https://')) else None + # If direct logo found, use it; otherwise fall back to cached version + if direct_logo: + tvg_logo = direct_logo + else: + tvg_logo = request.build_absolute_uri(reverse('api:channels:logo-cache', args=[channel.logo.id])) display_name = channel.epg_data.name if channel.epg_data else channel.name xml_lines.append(f' ') xml_lines.append(f' {html.escape(display_name)}') - - # Add channel logo if available - if channel.logo: - logo_url = request.build_absolute_uri(reverse('api:channels:logo-cache', args=[channel.logo.id])) - xml_lines.append(f' ') + xml_lines.append(f' ') xml_lines.append(' ')