Füge Mixcloud RSS Feed Generator hinzu, einschließlich Hauptskript, Serverstarter und Testskript. Aktualisiere .gitignore, .python-version, pyproject.toml und requirements.txt.
This commit is contained in:
96
test_generator.py
Executable file
96
test_generator.py
Executable file
@ -0,0 +1,96 @@
|
||||
#!/usr/bin/env python3
|
||||
"""
|
||||
Beispiel-Script zum Testen des Mixcloud RSS Generators
|
||||
"""
|
||||
|
||||
from mixcloud_rss import MixcloudRSSGenerator
|
||||
import sys
|
||||
|
||||
def test_generator():
|
||||
"""Testet den RSS-Generator mit deinem Mixcloud-Profil."""
|
||||
username = "serman_dj"
|
||||
|
||||
print(f"🎵 Teste RSS-Generator für: {username}")
|
||||
print("-" * 50)
|
||||
|
||||
# Generator erstellen
|
||||
generator = MixcloudRSSGenerator(username, "test_feed.xml")
|
||||
|
||||
# Benutzerinfo testen
|
||||
print("📋 Hole Benutzerinformationen...")
|
||||
user_info = generator.get_user_info()
|
||||
|
||||
if user_info:
|
||||
print(f"✅ Benutzer gefunden: {user_info.get('name', 'Unbekannt')}")
|
||||
print(f" Follower: {user_info.get('follower_count', 0)}")
|
||||
print(f" Following: {user_info.get('following_count', 0)}")
|
||||
print(f" Cloudcasts: {user_info.get('cloudcast_count', 0)}")
|
||||
else:
|
||||
print("❌ Benutzer nicht gefunden!")
|
||||
return False
|
||||
|
||||
# Cloudcasts testen
|
||||
print("\n🎧 Hole die ersten 10 Cloudcasts...")
|
||||
cloudcasts = generator.get_cloudcasts(limit=10)
|
||||
|
||||
if cloudcasts:
|
||||
print(f"✅ {len(cloudcasts)} Cloudcasts gefunden:")
|
||||
for i, cloudcast in enumerate(cloudcasts[:5], 1):
|
||||
name = cloudcast.get('name', 'Unbekannter Titel')
|
||||
duration = cloudcast.get('audio_length', 0)
|
||||
duration_str = generator.format_duration(duration) if duration else "Unbekannt"
|
||||
print(f" {i}. {name} ({duration_str})")
|
||||
|
||||
if len(cloudcasts) > 5:
|
||||
print(f" ... und {len(cloudcasts) - 5} weitere")
|
||||
else:
|
||||
print("❌ Keine Cloudcasts gefunden!")
|
||||
return False
|
||||
|
||||
# RSS-Feed erstellen
|
||||
print("\n📡 Erstelle RSS-Feed...")
|
||||
success = generator.create_rss_feed()
|
||||
|
||||
if success:
|
||||
print("✅ RSS-Feed erfolgreich erstellt!")
|
||||
print(f" Datei: {generator.output_file}")
|
||||
|
||||
# Feed-Info anzeigen
|
||||
import os
|
||||
if os.path.exists(generator.output_file):
|
||||
size = os.path.getsize(generator.output_file)
|
||||
print(f" Größe: {size} Bytes")
|
||||
|
||||
# Erste Zeilen der XML-Datei anzeigen
|
||||
print("\n📄 Feed-Preview:")
|
||||
with open(generator.output_file, 'r', encoding='utf-8') as f:
|
||||
lines = f.readlines()[:10]
|
||||
for line in lines:
|
||||
print(f" {line.rstrip()}")
|
||||
if len(lines) >= 10:
|
||||
print(" ...")
|
||||
|
||||
return True
|
||||
else:
|
||||
print("❌ Fehler beim Erstellen des RSS-Feeds!")
|
||||
return False
|
||||
|
||||
def main():
|
||||
"""Hauptfunktion."""
|
||||
print("🎵 Mixcloud RSS Generator - Test")
|
||||
print("=" * 50)
|
||||
|
||||
success = test_generator()
|
||||
|
||||
if success:
|
||||
print("\n🎉 Test erfolgreich abgeschlossen!")
|
||||
print("\nNächste Schritte:")
|
||||
print("1. Starte den Server: python mixcloud_rss.py serman_dj --serve")
|
||||
print("2. Öffne http://localhost:8000/mixcloud_feed.xml im Browser")
|
||||
print("3. Füge die URL in deiner Podcast-App hinzu")
|
||||
else:
|
||||
print("\n❌ Test fehlgeschlagen!")
|
||||
sys.exit(1)
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Reference in New Issue
Block a user