Skip to content
This repository was archived by the owner on Nov 9, 2022. It is now read-only.

Commit 3df71a5

Browse files
committed
Fix invalid encryption key path in Windows
Why are you like this Windows?
1 parent a199cf7 commit 3df71a5

File tree

1 file changed

+6
-5
lines changed

1 file changed

+6
-5
lines changed

downloader.py

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,12 @@ def run(self):
5555
self.server.serve_forever()
5656

5757
@classmethod
58-
def get_url(cls, file_content):
58+
def get_url(cls, file_content, suffix=".m3u8", mode="w"):
5959
"""Create a temp file with given contents and return its URL"""
60+
if not cls._dir_server:
61+
raise Exception("Dir server not initialized properly")
6062
with tempfile.NamedTemporaryFile(
61-
mode="w", suffix=".m3u8", dir=cls._dir_server.dir, delete=False
63+
mode=mode, suffix=suffix, dir=cls._dir_server.dir, delete=False
6264
) as f:
6365
f.write(file_content)
6466
name = Path(f.name).name
@@ -115,9 +117,8 @@ def extract_enc_keys(angle_pls: list, token):
115117
key_info = dict(parse_qsl(urlparse(key_url).query))
116118
orig_key = sess.get(key_url).content
117119
real_key = orig_key[::-1][:16]
118-
tmp_path = TEMP_DIR_PATH / "{ttid}_{keyid}.key".format(**key_info)
119-
tmp_path.write_bytes(real_key)
120-
angle_pls[i] = PAT.sub(f'URI="{tmp_path.resolve().as_uri()}"', line)
120+
path_uri = DirServer.get_url(real_key, ".key", "wb")
121+
angle_pls[i] = PAT.sub(f'URI="{path_uri}"', line)
121122

122123

123124
def add_inputs(token, cmd, angle_playlists, angle):

0 commit comments

Comments
 (0)