diff options
author | Sergey M․ <dstftw@gmail.com> | 2015-12-12 02:52:20 +0600 |
---|---|---|
committer | Sergey M․ <dstftw@gmail.com> | 2015-12-12 02:52:20 +0600 |
commit | d63cfc3f0faa7d52900f2f1959e8ad81bcef2775 (patch) | |
tree | 402511e9934c584c12a4ee864ced0eff9b62f08a /youtube_dl | |
parent | f377f44dae78ff6837d9301e7a086dfb1e601df2 (diff) |
[beeg] API v5 (Closes #7846)
Diffstat (limited to 'youtube_dl')
-rw-r--r-- | youtube_dl/extractor/beeg.py | 24 |
1 files changed, 19 insertions, 5 deletions
diff --git a/youtube_dl/extractor/beeg.py b/youtube_dl/extractor/beeg.py index d151d38c9..c8d921daf 100644 --- a/youtube_dl/extractor/beeg.py +++ b/youtube_dl/extractor/beeg.py @@ -34,15 +34,29 @@ class BeegIE(InfoExtractor): video_id = self._match_id(url) video = self._download_json( - 'http://beeg.com/api/v4/video/%s' % video_id, video_id) + 'http://beeg.com/api/v5/video/%s' % video_id, video_id) + + def split(o, e): + def cut(s, x): + n.append(s[:x]) + return s[x:] + n = [] + r = len(o) % e + if r > 0: + o = cut(o, r) + while len(o) > e: + o = cut(o, e) + n.append(o) + return n def decrypt_key(key): - # Reverse engineered from http://static.beeg.com/cpl/1067.js - a = '8RPUUCS35ZWp3ADnKcSmpH71ZusrROo' + # Reverse engineered from http://static.beeg.com/cpl/1105.js + a = '5ShMcIQlssOd7zChAIOlmeTZDaUxULbJRnywYaiB' e = compat_urllib_parse_unquote(key) - return ''.join([ - compat_chr(compat_ord(e[n]) - compat_ord(a[n % len(a)]) % 25) + o = ''.join([ + compat_chr(compat_ord(e[n]) - compat_ord(a[n % len(a)]) % 21) for n in range(len(e))]) + return ''.join(split(o, 3)[::-1]) def decrypt_url(encrypted_url): encrypted_url = self._proto_relative_url( |