Fix same quality field crash in radarr and lidarr formatters

Apply the same isinstance guard from the sonarr fix to radarr
(movieFile.quality) and lidarr (trackFiles[].quality) so a plain
string value no longer triggers an AttributeError.

https://claude.ai/code/session_0188gygwJLdYhxbKvEz2jFjr
This commit is contained in:
Claude
2026-02-28 10:10:53 +00:00
parent 693ab9f217
commit de0de68ba5

View File

@@ -15,12 +15,11 @@ def format_radarr(payload: dict) -> tuple[str, str]:
year = movie.get("year", "") year = movie.get("year", "")
is_upgrade = payload.get("isUpgrade", False) is_upgrade = payload.get("isUpgrade", False)
quality = ( quality_field = payload.get("movieFile", {}).get("quality", {})
payload.get("movieFile", {}) if isinstance(quality_field, dict):
.get("quality", {}) quality = quality_field.get("quality", {}).get("name", "Unknown")
.get("quality", {}) else:
.get("name", "Unknown") quality = str(quality_field) if quality_field else "Unknown"
)
if is_upgrade: if is_upgrade:
lines = [ lines = [
@@ -90,11 +89,11 @@ def format_lidarr(payload: dict) -> tuple[str, str]:
track_files = payload.get("trackFiles", [{}]) track_files = payload.get("trackFiles", [{}])
tf = track_files[0] if track_files else {} tf = track_files[0] if track_files else {}
quality = ( quality_field = tf.get("quality", {})
tf.get("quality", {}) if isinstance(quality_field, dict):
.get("quality", {}) quality = quality_field.get("quality", {}).get("name", "Unknown")
.get("name", "Unknown") else:
) quality = str(quality_field) if quality_field else "Unknown"
header = f"\U0001f3b5 **{artist_name}**" header = f"\U0001f3b5 **{artist_name}**"
if album_title: if album_title: