Füge Unterstützung für Kommentar-Tags in MP3-Metadaten hinzu und zeige gefundene Kommentare in der Ausgabe an.
This commit is contained in:
@ -81,12 +81,25 @@ class LocalPodcastGenerator:
|
||||
album = None
|
||||
duration = None
|
||||
cover_data = None
|
||||
comment = None
|
||||
|
||||
if audio.tags:
|
||||
title = str(audio.tags.get('TIT2', [''])[0]) if audio.tags.get('TIT2') else None
|
||||
artist = str(audio.tags.get('TPE1', [''])[0]) if audio.tags.get('TPE1') else None
|
||||
album = str(audio.tags.get('TALB', [''])[0]) if audio.tags.get('TALB') else None
|
||||
|
||||
# Comment-Tag extrahieren (COMM = Comment)
|
||||
if audio.tags.get('COMM::eng'):
|
||||
comment = str(audio.tags.get('COMM::eng', [''])[0])
|
||||
elif audio.tags.get('COMM'):
|
||||
# Fallback für allgemeine COMM-Tags
|
||||
comment_tags = audio.tags.getall('COMM')
|
||||
if comment_tags:
|
||||
comment = str(comment_tags[0])
|
||||
|
||||
if comment:
|
||||
print(f" 💬 Comment gefunden: {comment[:50]}...")
|
||||
|
||||
# Cover-Art extrahieren (APIC = Attached Picture)
|
||||
# Versuche verschiedene APIC-Tag-Varianten
|
||||
for key in audio.tags.keys():
|
||||
@ -122,7 +135,8 @@ class LocalPodcastGenerator:
|
||||
'file_size': file_size,
|
||||
'pub_date': pub_date,
|
||||
'filename': file_path.name,
|
||||
'cover_data': cover_data
|
||||
'cover_data': cover_data,
|
||||
'comment': comment
|
||||
}
|
||||
|
||||
except Exception as e:
|
||||
@ -136,7 +150,8 @@ class LocalPodcastGenerator:
|
||||
'file_size': file_path.stat().st_size,
|
||||
'pub_date': datetime.fromtimestamp(file_path.stat().st_mtime),
|
||||
'filename': file_path.name,
|
||||
'cover_data': None
|
||||
'cover_data': None,
|
||||
'comment': None
|
||||
}
|
||||
|
||||
def extract_episode_cover(self, metadata, episode_index):
|
||||
@ -404,6 +419,9 @@ Ich spezialisiere mich auf House Music, die mehr als nur Beats bietet – sie er
|
||||
print(f"\n🎵 Episode {episode_index + 1}: {metadata['title']}")
|
||||
print(f" 📄 Datei: {metadata['filename']}")
|
||||
print(f" 🎨 Cover-Daten vorhanden: {'Ja' if metadata['cover_data'] else 'Nein'}")
|
||||
print(f" 💬 Comment vorhanden: {'Ja' if metadata['comment'] else 'Nein'}")
|
||||
if metadata['comment']:
|
||||
print(f" 📝 Comment: {metadata['comment'][:100]}{'...' if len(metadata['comment']) > 100 else ''}")
|
||||
|
||||
# Episode-Cover extrahieren
|
||||
episode_cover_url = self.extract_episode_cover(metadata, episode_index)
|
||||
@ -424,6 +442,11 @@ Ich spezialisiere mich auf House Music, die mehr als nur Beats bietet – sie er
|
||||
description_text = f"Mix von {metadata['artist']}"
|
||||
if metadata['album']:
|
||||
description_text += f" aus {metadata['album']}"
|
||||
|
||||
# Füge Comment hinzu falls vorhanden
|
||||
if metadata['comment'] and metadata['comment'].strip():
|
||||
description_text += f"\n\n{metadata['comment']}"
|
||||
|
||||
item_description.text = description_text
|
||||
|
||||
# Link zur Episode-Seite (nicht zur Audio-Datei)
|
||||
|
Reference in New Issue
Block a user