Verbessere die RSS-Feed-Erstellung durch Anpassung der Links und GUIDs sowie Vereinfachung der Cover-Integration für bessere Kompatibilität mit Podcast-Apps.

This commit is contained in:
2025-07-05 20:35:58 +02:00
parent f66aca6352
commit 69337ce9ac

View File

@ -257,16 +257,16 @@ Ich spezialisiere mich auf House Music, die mehr als nur Beats bietet sie er
description_text += f" aus {metadata['album']}" description_text += f" aus {metadata['album']}"
item_description.text = description_text item_description.text = description_text
# Link zur Audio-Datei # Link zur Episode-Seite (nicht zur Audio-Datei)
item_link = ET.SubElement(item, "link") item_link = ET.SubElement(item, "link")
# Die Dateien liegen in ../httpdocs/_audio/, sind aber über /_audio/ erreichbar item_link.text = self.base_url
audio_url = f"{self.base_url}/_audio/{urllib.parse.quote(metadata['filename'])}"
item_link.text = audio_url
# GUID # GUID (eindeutige ID - verwende Audio-URL)
item_guid = ET.SubElement(item, "guid") 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.text = audio_url
item_guid.set("isPermaLink", "true") item_guid.set("isPermaLink", "false")
# Veröffentlichungsdatum (korrekt formatiert für RSS) # Veröffentlichungsdatum (korrekt formatiert für RSS)
item_pubdate = ET.SubElement(item, "pubDate") 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') pub_date_formatted = metadata['pub_date'].strftime('%a, %d %b %Y %H:%M:%S +0000')
item_pubdate.text = pub_date_formatted item_pubdate.text = pub_date_formatted
# Audio-Enclosure # Audio-Enclosure (das ist die eigentliche Audio-URL)
enclosure = ET.SubElement(item, "enclosure") enclosure = ET.SubElement(item, "enclosure")
enclosure.set("url", audio_url) enclosure.set("url", audio_url)
enclosure.set("type", "audio/mpeg") 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 = ET.SubElement(item, "itunes:episodeType")
itunes_episode_type.text = "full" 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: if episode_cover_url:
# Standard RSS image tag # iTunes image tag (das Standard-Format für Podcast-Apps)
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_item = ET.SubElement(item, "itunes:image") itunes_image_item = ET.SubElement(item, "itunes:image")
itunes_image_item.set("href", episode_cover_url) itunes_image_item.set("href", episode_cover_url)