diff --git a/local_podcast_generator.py b/local_podcast_generator.py index 435127a..b1cf833 100644 --- a/local_podcast_generator.py +++ b/local_podcast_generator.py @@ -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)