From 03f5e6dfa0b8525d477f1ad15bb5240c57e48455 Mon Sep 17 00:00:00 2001 From: denneboomyo Date: Sat, 4 Mar 2017 16:08:00 +0100 Subject: [PATCH 1/6] Fix extraction --- youtube_dl/extractor/openload.py | 43 +++++++++++++++++++++----------- 1 file changed, 29 insertions(+), 14 deletions(-) diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index fc7ff43a6..f116a5d11 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -75,22 +75,37 @@ class OpenloadIE(InfoExtractor): ']+id="[^"]+"[^>]*>([0-9A-Za-z]+)', webpage, 'openload ID') - first_char = int(ol_id[0]) - urlcode = [] - num = 1 + video_url_chars = [] - while num < len(ol_id): - i = ord(ol_id[num]) - key = 0 - if i <= 90: - key = i - 65 - elif i >= 97: - key = 25 + i - 97 - urlcode.append((key, compat_chr(int(ol_id[num + 2:num + 5]) // int(ol_id[num + 1]) - first_char))) - num += 5 + first_char = ord(ol_id[0]); + key = first_char - 55; + maxKey = max(2, key); + key = min(maxKey, len(ol_id) - 14); + t = ol_id[key:key + 12]; - video_url = 'https://openload.co/stream/' + ''.join( - [value for _, value in sorted(urlcode, key=lambda x: x[0])]) + hashMap = {}; + v = ol_id.replace(t, ""); + h = 0; + + while h < len(t): + f = t[h:h + 2]; + i = int(f, 16); + hashMap[h / 2] = i; + h += 2; + + h = 0; + + while h < len(v): + B = v[h:h + 2]; + i = int(B, 16); + index = (h / 2) % 6; + A = hashMap[index]; + i = i ^ A; + video_url_chars.append(chr(i)); + h += 2; + + video_url = 'https://openload.co/stream/%s?mime=true' + video_url = video_url % (''.join(video_url_chars)) title = self._og_search_title(webpage, default=None) or self._search_regex( r']+class=["\']title["\'][^>]*>([^<]+)', webpage, From 322d0a195017e722e91a1aec90c5c876976016a5 Mon Sep 17 00:00:00 2001 From: denneboomyo Date: Sat, 4 Mar 2017 16:11:32 +0100 Subject: [PATCH 2/6] Fix extraction --- youtube_dl/extractor/openload.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index f116a5d11..a11902a64 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -77,7 +77,7 @@ class OpenloadIE(InfoExtractor): video_url_chars = [] - first_char = ord(ol_id[0]); + first_char = compat_ord(ol_id[0]); key = first_char - 55; maxKey = max(2, key); key = min(maxKey, len(ol_id) - 14); @@ -101,7 +101,7 @@ class OpenloadIE(InfoExtractor): index = (h / 2) % 6; A = hashMap[index]; i = i ^ A; - video_url_chars.append(chr(i)); + video_url_chars.append(compat_chr(i)); h += 2; video_url = 'https://openload.co/stream/%s?mime=true' From 28336f28b4640b39f9e6c218af12d78d12542d26 Mon Sep 17 00:00:00 2001 From: denneboomyo Date: Sat, 4 Mar 2017 17:04:21 +0100 Subject: [PATCH 3/6] Fixed missing semicolon --- youtube_dl/extractor/openload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index a11902a64..a04ff5259 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -75,7 +75,7 @@ class OpenloadIE(InfoExtractor): ']+id="[^"]+"[^>]*>([0-9A-Za-z]+)', webpage, 'openload ID') - video_url_chars = [] + video_url_chars = []; first_char = compat_ord(ol_id[0]); key = first_char - 55; From 26cf47120544a1c39365e66ca9aaae9357b2116b Mon Sep 17 00:00:00 2001 From: denneboomyo Date: Sat, 4 Mar 2017 17:09:54 +0100 Subject: [PATCH 4/6] Removed all semicolons --- youtube_dl/extractor/openload.py | 42 ++++++++++++++++---------------- 1 file changed, 21 insertions(+), 21 deletions(-) diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index a04ff5259..f80ad650d 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -75,34 +75,34 @@ class OpenloadIE(InfoExtractor): ']+id="[^"]+"[^>]*>([0-9A-Za-z]+)', webpage, 'openload ID') - video_url_chars = []; + video_url_chars = [] - first_char = compat_ord(ol_id[0]); - key = first_char - 55; - maxKey = max(2, key); - key = min(maxKey, len(ol_id) - 14); - t = ol_id[key:key + 12]; + first_char = compat_ord(ol_id[0]) + key = first_char - 55 + maxKey = max(2, key) + key = min(maxKey, len(ol_id) - 14) + t = ol_id[key:key + 12] - hashMap = {}; - v = ol_id.replace(t, ""); - h = 0; + hashMap = {} + v = ol_id.replace(t, "") + h = 0 while h < len(t): - f = t[h:h + 2]; - i = int(f, 16); - hashMap[h / 2] = i; - h += 2; + f = t[h:h + 2] + i = int(f, 16) + hashMap[h / 2] = i + h += 2 - h = 0; + h = 0 while h < len(v): - B = v[h:h + 2]; - i = int(B, 16); - index = (h / 2) % 6; - A = hashMap[index]; - i = i ^ A; - video_url_chars.append(compat_chr(i)); - h += 2; + B = v[h:h + 2] + i = int(B, 16) + index = (h / 2) % 6 + A = hashMap[index] + i = i ^ A + video_url_chars.append(compat_chr(i)) + h += 2 video_url = 'https://openload.co/stream/%s?mime=true' video_url = video_url % (''.join(video_url_chars)) From 949054c0bac9a234b4d9a5f7ae5732a21ee27557 Mon Sep 17 00:00:00 2001 From: denneboomyo Date: Sat, 4 Mar 2017 17:51:35 +0100 Subject: [PATCH 5/6] replacing compat_ord with ord --- youtube_dl/extractor/openload.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index f80ad650d..ff7b29a72 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -77,7 +77,7 @@ class OpenloadIE(InfoExtractor): video_url_chars = [] - first_char = compat_ord(ol_id[0]) + first_char = ord(ol_id[0]) key = first_char - 55 maxKey = max(2, key) key = min(maxKey, len(ol_id) - 14) From dcb70de3a87d06271602cce606d14d99a3da1315 Mon Sep 17 00:00:00 2001 From: denneboomyo Date: Sat, 4 Mar 2017 21:02:54 +0100 Subject: [PATCH 6/6] space idents --- youtube_dl/extractor/openload.py | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/youtube_dl/extractor/openload.py b/youtube_dl/extractor/openload.py index ff7b29a72..25f6a9aca 100644 --- a/youtube_dl/extractor/openload.py +++ b/youtube_dl/extractor/openload.py @@ -88,21 +88,21 @@ class OpenloadIE(InfoExtractor): h = 0 while h < len(t): - f = t[h:h + 2] - i = int(f, 16) - hashMap[h / 2] = i - h += 2 + f = t[h:h + 2] + i = int(f, 16) + hashMap[h / 2] = i + h += 2 h = 0 while h < len(v): - B = v[h:h + 2] - i = int(B, 16) - index = (h / 2) % 6 - A = hashMap[index] - i = i ^ A - video_url_chars.append(compat_chr(i)) - h += 2 + B = v[h:h + 2] + i = int(B, 16) + index = (h / 2) % 6 + A = hashMap[index] + i = i ^ A + video_url_chars.append(compat_chr(i)) + h += 2 video_url = 'https://openload.co/stream/%s?mime=true' video_url = video_url % (''.join(video_url_chars))