From cf55c9b464b3b9227fdc8100a90885c5e63bb7c3 Mon Sep 17 00:00:00 2001 From: Colin Powell Date: Thu, 12 Jan 2023 14:12:10 -0500 Subject: [PATCH] Fix parsing of podcast episode titles --- vrobbler/apps/scrobbles/scrobblers.py | 4 +--- vrobbler/apps/scrobbles/utils.py | 5 +++-- 2 files changed, 4 insertions(+), 5 deletions(-) diff --git a/vrobbler/apps/scrobbles/scrobblers.py b/vrobbler/apps/scrobbles/scrobblers.py index f6dce47..635f75f 100644 --- a/vrobbler/apps/scrobbles/scrobblers.py +++ b/vrobbler/apps/scrobbles/scrobblers.py @@ -21,9 +21,7 @@ def scrobble_podcast(data_dict: dict, user_id: Optional[int]) -> Scrobble: podcast_name = parsed_data.get("podcast_name") podcast_dict = {"name": podcast_name} - episode_name = data_dict.get("name") - if not episode_name or '.mp3' in episode_name: - episode_name = parsed_data.get("episode_filename") + episode_name = parsed_data.get("episode_filename") episode_dict = { "title": episode_name, "run_time_ticks": data_dict.get("run_time_ticks"), diff --git a/vrobbler/apps/scrobbles/utils.py b/vrobbler/apps/scrobbles/utils.py index a297b0e..9c94f03 100644 --- a/vrobbler/apps/scrobbles/utils.py +++ b/vrobbler/apps/scrobbles/utils.py @@ -1,5 +1,6 @@ import logging from typing import Any +from urllib.parse import unquote from dateutil.parser import ParserError, parse @@ -19,8 +20,8 @@ def parse_mopidy_uri(uri: str) -> dict: logger.debug(f"Parsing URI: {uri}") parsed_uri = uri.split('/') - episode_str = parsed_uri.pop(-1).strip(".mp3") - podcast_str = parsed_uri.pop(-1).replace("%20", " ") + episode_str = unquote(parsed_uri.pop(-1).strip(".mp3")) + podcast_str = unquote(parsed_uri.pop(-1)) possible_date_str = episode_str[0:10] try: