From f0bae6d6b48c124dcb5839f3b73946c3aa5cb618 Mon Sep 17 00:00:00 2001 From: Andy Date: Thu, 22 Jan 2026 14:13:27 -0700 Subject: [PATCH] fix(cdm): correct error key casing in Decrypt Labs API response parsing The API returns error details with capital "Error" key, but the code was checking for lowercase "error", causing error details to be ignored. --- unshackle/core/cdm/decrypt_labs_remote_cdm.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/unshackle/core/cdm/decrypt_labs_remote_cdm.py b/unshackle/core/cdm/decrypt_labs_remote_cdm.py index 3806107..78e383f 100644 --- a/unshackle/core/cdm/decrypt_labs_remote_cdm.py +++ b/unshackle/core/cdm/decrypt_labs_remote_cdm.py @@ -449,8 +449,8 @@ class DecryptLabsRemoteCDM: error_msg = data.get("message", "Unknown error") if "details" in data: error_msg += f" - Details: {data['details']}" - if "error" in data: - error_msg += f" - Error: {data['error']}" + if "Error" in data: + error_msg += f" - Error: {data['Error']}" if "service_certificate is required" in str(data) and not session["service_certificate"]: error_msg += " (No service certificate was provided to the CDM session)" @@ -537,8 +537,8 @@ class DecryptLabsRemoteCDM: error_msg = f"API response: {data['message']} - {error_msg}" if "details" in data: error_msg += f" - Details: {data['details']}" - if "error" in data: - error_msg += f" - Error: {data['error']}" + if "Error" in data: + error_msg += f" - Error: {data['Error']}" if already_tried_cache and data.get("message") == "success": return b"" @@ -612,8 +612,8 @@ class DecryptLabsRemoteCDM: if data.get("message") != "success": error_msg = data.get("message", "Unknown error") - if "error" in data: - error_msg += f" - Error: {data['error']}" + if "Error" in data: + error_msg += f" - Error: {data['Error']}" if "details" in data: error_msg += f" - Details: {data['details']}" raise requests.RequestException(f"License decrypt error: {error_msg}")