I am Stupid
This commit is contained in:
parent
b73b43163c
commit
e3442d2793
10
scripts/dsnp_kid_fix.py
Normal file
10
scripts/dsnp_kid_fix.py
Normal file
@ -0,0 +1,10 @@
|
||||
import uuid
|
||||
import base64
|
||||
import xmltodict
|
||||
|
||||
psshPR = """FAMAAAEAAQAKAzwAVwBSAE0ASABFAEEARABFAFIAIAB4AG0AbABuAHMAPQAiAGgAdAB0AHAAOgAvAC8AcwBjAGgAZQBtAGEAcwAuAG0AaQBjAHIAbwBzAG8AZgB0AC4AYwBvAG0ALwBEAFIATQAvADIAMAAwADcALwAwADMALwBQAGwAYQB5AFIAZQBhAGQAeQBIAGUAYQBkAGUAcgAiACAAdgBlAHIAcwBpAG8AbgA9ACIANAAuADAALgAwAC4AMAAiAD4APABEAEEAVABBAD4APABQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEsARQBZAEwARQBOAD4AMQA2ADwALwBLAEUAWQBMAEUATgA+ADwAQQBMAEcASQBEAD4AQQBFAFMAQwBUAFIAPAAvAEEATABHAEkARAA+ADwALwBQAFIATwBUAEUAQwBUAEkATgBGAE8APgA8AEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AEsASQBEAFMAPgA8AEsASQBEACAAQQBMAEcASQBEAD0AIgBBAEUAUwBDAFQAUgAiACAAVgBBAEwAVQBFAD0AIgA5ADkAVgBpAFIAdwA3AEsAcgBrAHkAVgBSADEAVQBnAFYAUQBCAG4AVQBRAD0APQAiAD4APAAvAEsASQBEAD4APABLAEkARAAgAEEATABHAEkARAA9ACIAQQBFAFMAQwBUAFIAIgAgAFYAQQBMAFUARQA9ACIAVQBOAEoAVQBHAGgAdwB3AHIAVQBPAEsAZgBYACsAUQBvAG4AVwBGAFcAZwA9AD0AIgA+ADwALwBLAEkARAA+ADwALwBLAEkARABTAD4APAAvAEMAVQBTAFQATwBNAEEAVABUAFIASQBCAFUAVABFAFMAPgA8AEsASQBEAD4AOQA5AFYAaQBSAHcANwBLAHIAawB5AFYAUgAxAFUAZwBWAFEAQgBuAFUAUQA9AD0APAAvAEsASQBEAD4APAAvAEQAQQBUAEEAPgA8AC8AVwBSAE0ASABFAEEARABFAFIAPgA="""
|
||||
|
||||
xml_str = base64.b64decode(psshPR).decode("utf-16-le", "ignore")
|
||||
xml_str = xml_str[xml_str.index("<"):]
|
||||
kids = [uuid.UUID(base64.b64decode(kid_xml['@VALUE']).hex()).bytes_le.hex() for kid_xml in xmltodict.parse(xml_str)['WRMHEADER']['DATA']['CUSTOMATTRIBUTES']['KIDS']['KID']]
|
||||
print(kids)
|
||||
@ -617,7 +617,7 @@ def result(ctx, service, quality, closest_resolution, range_, wanted, alang, sla
|
||||
f"label=0:key_id={track.kid.lower()}:key={track.key.lower()}",
|
||||
# Apple TV+ needs this as shaka pulls the incorrect KID, idk why
|
||||
f"label=1:key_id=00000000000000000000000000000000:key={track.key.lower()}",
|
||||
]) if service_name != "DisneyPlus" else ",".join(["label={index}:key_id={key}:key={content_keys[key]}" for index, key in enumerate(content_keys)]),
|
||||
]) if service_name != "DisneyPlus" else ",".join([f"label={index}:key_id={key}:key={content_keys[key]}" for index, key in enumerate(content_keys)]), # This right here is a hack as DSNP has 2 kids and returns 2 keys. FFS.
|
||||
"--temp_dir", directories.temp
|
||||
], check=True)
|
||||
except subprocess.CalledProcessError:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user