youtube-dl

Another place where youtube-dl lives on
git clone git://git.oshgnacknak.de/youtube-dl.git
Log | Files | Refs | README | LICENSE

commit 81bdc8fdf6516b05bc3a26f82eacb1889f5e46d5
parent e048d87fc9b5cfa19806649faf20fc1a7bdb82a6
Author: Yen Chi Hsuan <yan12125@gmail.com>
Date:   Wed, 24 Feb 2016 22:08:40 +0800

[utils] Move base62 to utils

Diffstat:
Myoutube_dl/extractor/iqiyi.py | 15++-------------
Myoutube_dl/utils.py | 14++++++++++++++
2 files changed, 16 insertions(+), 13 deletions(-)

diff --git a/youtube_dl/extractor/iqiyi.py b/youtube_dl/extractor/iqiyi.py @@ -18,6 +18,7 @@ from ..compat import ( compat_urllib_parse_urlparse, ) from ..utils import ( + base62, ExtractorError, ohdave_rsa_encrypt, remove_start, @@ -126,21 +127,9 @@ class IqiyiSDK(object): class IqiyiSDKInterpreter(object): - BASE62_TABLE = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ' - def __init__(self, sdk_code): self.sdk_code = sdk_code - @classmethod - def base62(cls, num): - if num == 0: - return '0' - ret = '' - while num: - ret = cls.BASE62_TABLE[num % 62] + ret - num = num // 62 - return ret - def decode_eval_codes(self): self.sdk_code = self.sdk_code[5:-3] @@ -154,7 +143,7 @@ class IqiyiSDKInterpreter(object): while count: count -= 1 - b62count = self.base62(count) + b62count = base62(count) symbol_table[b62count] = symbols[count] or b62count self.sdk_code = re.sub( diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py @@ -2619,3 +2619,17 @@ def ohdave_rsa_encrypt(data, exponent, modulus): payload = int(binascii.hexlify(data[::-1]), 16) encrypted = pow(payload, exponent, modulus) return '%x' % encrypted + + +def base_n(num, n, table): + if num == 0: + return '0' + ret = '' + while num: + ret = table[num % n] + ret + num = num // n + return ret + + +def base62(num): + return base_n(num, 62, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')