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: