From 0d2237d09a96ad96b1d0f8277ca51fb397162410 Mon Sep 17 00:00:00 2001 From: kenzuyaa Date: Sat, 30 Aug 2025 11:37:31 +0700 Subject: [PATCH] fix(Netflix): correct video range and codec validation logic - Adjust condition order in video range and codec compatibility check - Change range membership check from object to name string in profile loop - Remove redundant error logging and sys.exit call in profile handling - Improve consistency of video profile retrieval based on codec and range --- unshackle/services/Netflix/__init__.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/unshackle/services/Netflix/__init__.py b/unshackle/services/Netflix/__init__.py index 0f5c10c..cf01dd2 100644 --- a/unshackle/services/Netflix/__init__.py +++ b/unshackle/services/Netflix/__init__.py @@ -395,7 +395,7 @@ class Netflix(Service): if self.vcodec.extension.upper() not in self.config["profiles"]["video"]: raise ValueError(f"Video Codec {self.vcodec} is not supported by Netflix") - if self.range[0].name not in list(self.config["profiles"]["video"][self.vcodec.extension.upper()].keys()) and self.vcodec != Video.Codec.AVC and self.vcodec != Video.Codec.VP9 and self.range[0] != Video.Range.HYBRID: + if self.range[0].name not in list(self.config["profiles"]["video"][self.vcodec.extension.upper()].keys()) and self.range[0] != Video.Range.HYBRID and self.vcodec != Video.Codec.AVC and self.vcodec != Video.Codec.VP9: self.log.error(f"Video range {self.range[0].name} is not supported by Video Codec: {self.vcodec}") sys.exit(1) @@ -464,13 +464,10 @@ class Netflix(Service): return result_profiles for profiles in self.config["profiles"]["video"][self.vcodec.extension.upper()]: for range in self.range: - if range in profiles: + if range.name in profiles: result_profiles.extend(self.config["profiles"]["video"][self.vcodec.extension.upper()][range.name]) elif range == Video.Range.HYBRID: result_profiles.extend(self.config["profiles"]["video"][self.vcodec.extension.upper()]["HDR10"]) - else: - self.log.error(f" - {range} is not supported by {self.vcodec}") - sys.exit(1) self.log.debug(f"Result_profiles: {result_profiles}") return result_profiles