|
@@ -40,20 +40,20 @@ def fetch_metadata_from_rss(uri: str) -> dict[str, Any]:
|
|
|
|
|
|
podcast_data = {
|
|
|
"podcast_name": feed.feed.get("title", "Unknown Podcast"),
|
|
|
- "podcast_description": feed.feed.get("description", ""),
|
|
|
- "podcast_link": feed.feed.get("link", ""),
|
|
|
+ # "podcast_description": feed.feed.get("description", ""),
|
|
|
+ # "podcast_link": feed.feed.get("link", ""),
|
|
|
"podcast_producer": podcast_publisher or podcast_owner or podcast_other
|
|
|
}
|
|
|
|
|
|
for entry in feed.entries:
|
|
|
if target_guid in target_guid:
|
|
|
logger.info("🎧 Episode found in RSS feed", extra=log_context)
|
|
|
- podcast_data["episode_name"] = entry.title
|
|
|
+ podcast_data["title"] = entry.title
|
|
|
podcast_data["episode_num"] = entry.guid
|
|
|
- podcast_data["episode_pub_date"] = entry.get("published", None)
|
|
|
- podcast_data["episode_description"] = entry.get("description", None)
|
|
|
- podcast_data["episode_url"] = entry.enclosures[0].href if entry.get("enclosures") else None
|
|
|
- podcast_data["episode_runtime_seconds"] = parse_duration(entry.get("itunes_duration", None))
|
|
|
+ podcast_data["pub_date"] = entry.get("published", None)
|
|
|
+ podcast_data["run_time_seconds"] = parse_duration(entry.get("itunes_duration", None))
|
|
|
+ # podcast_data["description"] = entry.get("description", None)
|
|
|
+ # podcast_data["episode_url"] = entry.enclosures[0].href if entry.get("enclosures") else None
|
|
|
return podcast_data
|
|
|
else:
|
|
|
logger.info("Episode not found in RSS feed.")
|
|
@@ -112,24 +112,7 @@ def parse_mopidy_uri(uri: str) -> dict[str, Any]:
|
|
|
|
|
|
def get_or_create_podcast(post_data: dict) -> PodcastEpisode:
|
|
|
logger.info("Looking up podcast", extra={"post_data": post_data, "media_type": "Podcast"})
|
|
|
-
|
|
|
mopidy_uri = post_data.get("mopidy_uri", "")
|
|
|
parsed_data = parse_mopidy_uri(mopidy_uri)
|
|
|
- producer_name = parsed_data.get("podcast_producer", post_data.get("artist", ""))
|
|
|
- podcast_name = parsed_data.get("podcast_name", post_data.get("album", ""))
|
|
|
- episode_name = parsed_data.get("episode_title", parsed_data.get("episode_filename", ""))
|
|
|
- run_time_seconds = parsed_data.get("episode_runtime_seconds", post_data.get("run_time", 2700))
|
|
|
-
|
|
|
- episode_dict = {
|
|
|
- }
|
|
|
|
|
|
- return PodcastEpisode.find_or_create(
|
|
|
- title=episode_name,
|
|
|
- podcast_name=podcast_name,
|
|
|
- podcast_description=parsed_data.get("podcast_description", ""),
|
|
|
- pub_date=parsed_data.get("pub_date", ""),
|
|
|
- number=parsed_data.get("episode_num", 0),
|
|
|
- mopidy_uri=mopidy_uri,
|
|
|
- producer_name=producer_name,
|
|
|
- run_time_seconds=run_time_seconds
|
|
|
- )
|
|
|
+ return PodcastEpisode.find_or_create(**parsed_data)
|