Update tracks.py

This commit is contained in:
chu23465 2025-04-22 21:43:01 +05:30
parent 62030d9527
commit d8b223b184

View File

@ -175,10 +175,10 @@ class Track:
# if an m3u, try get from playlist
master = m3u8.loads(session.get(as_list(self.url)[0]).text, uri=self.url)
for x in master.session_keys:
if x and x.keyformat.lower() == "com.microsoft.playready":
if x and x.keyformat.lower == "com.microsoft.playready":
self.psshPR = x.uri.split(",")[-1]
break
elif x and x.keyformat.lower() == f"urn:uuid:{uuid.UUID('edef8ba979d64acea3c827dcd51d21ed')}":
elif x and x.keyformat.lower == f"urn:uuid:{uuid.UUID('edef8ba979d64acea3c827dcd51d21ed')}":
self.psshWV = x.uri.split(",")[-1]
break
for x in master.keys:
@ -195,12 +195,12 @@ class Track:
xml_str = xml_str[xml_str.index("<"):]
xml = load_xml(xml_str).find("DATA") # root: WRMHEADER
kid = xml.findtext("KID") # v4.0.0.0
if not kid: # v4.1.0.0
kid = next(iter(xml.xpath("PROTECTINFO/KID/@VALUE")), None)
if not kid: # v4.3.0.0
kid = next(iter(xml.xpath("PROTECTINFO/KIDS/KID/@VALUE")), None) # can be multiple?
self.kid = uuid.UUID(base64.b64decode(kid).hex()).bytes_le.hex()
self.kid = xml.findtext("KID") # v4.0.0.0
if not self.kid: # v4.1.0.0
self.kid = next(iter(xml.xpath("PROTECTINFO/KID/@VALUE")), None)
if not self.kid: # v4.3.0.0
self.kid = next(iter(xml.xpath("PROTECTINFO/KIDS/KID/@VALUE")), None) # can be multiple?
self.kid = uuid.UUID(base64.b64decode(self.kid).hex()).bytes_le.hex()
#if not track.psshWV:
# self.psshWV = Box.parse(Box.build(dict(
# type=b"pssh",