From 69337ce9acc4f923fafe6fcfa09c4620f53aba80 Mon Sep 17 00:00:00 2001 From: Manuel Weiser Date: Sat, 5 Jul 2025 20:35:58 +0200 Subject: [PATCH] =?UTF-8?q?Verbessere=20die=20RSS-Feed-Erstellung=20durch?= =?UTF-8?q?=20Anpassung=20der=20Links=20und=20GUIDs=20sowie=20Vereinfachun?= =?UTF-8?q?g=20der=20Cover-Integration=20f=C3=BCr=20bessere=20Kompatibilit?= =?UTF-8?q?=C3=A4t=20mit=20Podcast-Apps.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- local_podcast_generator.py | 27 +++++++++------------------ 1 file changed, 9 insertions(+), 18 deletions(-) diff --git a/local_podcast_generator.py b/local_podcast_generator.py index 57af679..4015c2f 100644 --- a/local_podcast_generator.py +++ b/local_podcast_generator.py @@ -257,16 +257,16 @@ Ich spezialisiere mich auf House Music, die mehr als nur Beats bietet – sie er description_text += f" aus {metadata['album']}" item_description.text = description_text - # Link zur Audio-Datei + # Link zur Episode-Seite (nicht zur Audio-Datei) item_link = ET.SubElement(item, "link") - # Die Dateien liegen in ../httpdocs/_audio/, sind aber über /_audio/ erreichbar - audio_url = f"{self.base_url}/_audio/{urllib.parse.quote(metadata['filename'])}" - item_link.text = audio_url + item_link.text = self.base_url - # GUID + # GUID (eindeutige ID - verwende Audio-URL) item_guid = ET.SubElement(item, "guid") + # Die Audio-URL als eindeutige GUID + audio_url = f"{self.base_url}/_audio/{urllib.parse.quote(metadata['filename'])}" item_guid.text = audio_url - item_guid.set("isPermaLink", "true") + item_guid.set("isPermaLink", "false") # Veröffentlichungsdatum (korrekt formatiert für RSS) item_pubdate = ET.SubElement(item, "pubDate") @@ -274,7 +274,7 @@ Ich spezialisiere mich auf House Music, die mehr als nur Beats bietet – sie er pub_date_formatted = metadata['pub_date'].strftime('%a, %d %b %Y %H:%M:%S +0000') item_pubdate.text = pub_date_formatted - # Audio-Enclosure + # Audio-Enclosure (das ist die eigentliche Audio-URL) enclosure = ET.SubElement(item, "enclosure") enclosure.set("url", audio_url) enclosure.set("type", "audio/mpeg") @@ -299,18 +299,9 @@ Ich spezialisiere mich auf House Music, die mehr als nur Beats bietet – sie er itunes_episode_type = ET.SubElement(item, "itunes:episodeType") itunes_episode_type.text = "full" - # Episode-Cover hinzufügen (falls vorhanden) - beide Formate für bessere Kompatibilität + # Episode-Cover hinzufügen - nur iTunes Format für bessere Kompatibilität if episode_cover_url: - # Standard RSS image tag - item_image = ET.SubElement(item, "image") - item_image_url = ET.SubElement(item_image, "url") - item_image_url.text = episode_cover_url - item_image_title = ET.SubElement(item_image, "title") - item_image_title.text = metadata['title'] - item_image_link = ET.SubElement(item_image, "link") - item_image_link.text = audio_url - - # iTunes image tag + # iTunes image tag (das Standard-Format für Podcast-Apps) itunes_image_item = ET.SubElement(item, "itunes:image") itunes_image_item.set("href", episode_cover_url)