[bug] Parsing ext
Some checks failed
Some checks failed
This commit is contained in:
@ -205,13 +205,23 @@ def save_smart_playlist(
|
|||||||
|
|
||||||
def refresh_smart_playlists(core: CoreProxy, config_dict: dict) -> None:
|
def refresh_smart_playlists(core: CoreProxy, config_dict: dict) -> None:
|
||||||
prefix = config_dict.get("playlist_prefix", "[Smart]")
|
prefix = config_dict.get("playlist_prefix", "[Smart]")
|
||||||
raw = config_dict.get("search_uris", "")
|
raw = config_dict.get("search_uris")
|
||||||
uris: list[Uri] | None = None
|
uris: list[Uri] | None = None
|
||||||
if raw:
|
if isinstance(raw, (list, tuple)):
|
||||||
|
uris = cast("list[Uri]", list(raw))
|
||||||
|
elif isinstance(raw, str) and raw.strip():
|
||||||
uris = cast("list[Uri]", [u.strip() for u in raw.split(",") if u.strip()])
|
uris = cast("list[Uri]", [u.strip() for u in raw.split(",") if u.strip()])
|
||||||
playlist_dir = config_dict.get("playlist_dir") or None
|
playlist_dir = config_dict.get("playlist_dir")
|
||||||
max_tracks = int(config_dict.get("max_tracks", 0) or 0)
|
if isinstance(playlist_dir, str):
|
||||||
max_per_album = int(config_dict.get("max_per_album", 0) or 0)
|
playlist_dir = playlist_dir.strip() or None
|
||||||
|
try:
|
||||||
|
max_tracks = int(config_dict.get("max_tracks") or 0)
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
max_tracks = 0
|
||||||
|
try:
|
||||||
|
max_per_album = int(config_dict.get("max_per_album") or 0)
|
||||||
|
except (ValueError, TypeError):
|
||||||
|
max_per_album = 0
|
||||||
|
|
||||||
decades_raw = config_dict.get("decades", "")
|
decades_raw = config_dict.get("decades", "")
|
||||||
if decades_raw:
|
if decades_raw:
|
||||||
|
|||||||
@ -293,8 +293,12 @@ class StatusHandler(tornado.web.RequestHandler):
|
|||||||
|
|
||||||
|
|
||||||
def _parse_search_uris(config: Config) -> list[Uri] | None:
|
def _parse_search_uris(config: Config) -> list[Uri] | None:
|
||||||
raw = config.get("smartplaylists", {}).get("search_uris", "")
|
raw = config.get("smartplaylists", {}).get("search_uris")
|
||||||
if raw:
|
if raw is None:
|
||||||
|
return None
|
||||||
|
if isinstance(raw, (list, tuple)):
|
||||||
|
return cast("list[Uri]", list(raw))
|
||||||
|
if isinstance(raw, str):
|
||||||
uris = cast("list[Uri]", [u.strip() for u in raw.split(",") if u.strip()])
|
uris = cast("list[Uri]", [u.strip() for u in raw.split(",") if u.strip()])
|
||||||
return uris or None
|
return uris or None
|
||||||
return None
|
return None
|
||||||
|
|||||||
Reference in New Issue
Block a user