Selaa lähdekoodia

Fix parsing of podcast episode titles

Colin Powell 2 vuotta sitten
vanhempi
commit
cf55c9b464
2 muutettua tiedostoa jossa 4 lisäystä ja 5 poistoa
  1. 1 3
      vrobbler/apps/scrobbles/scrobblers.py
  2. 3 2
      vrobbler/apps/scrobbles/utils.py

+ 1 - 3
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"),

+ 3 - 2
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: