aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYen Chi Hsuan <yan12125@gmail.com>2016-02-26 14:37:20 +0800
committerYen Chi Hsuan <yan12125@gmail.com>2016-02-26 14:37:20 +0800
commit59f898b7a72284efb994a8c6baee7771046226dd (patch)
treea82844dbd548a37ad7509c8250e0909bc0f8eca9
parent8f4a2124a914207912bf9fc37e593210e8dd423b (diff)
[utils] Merge base_n functions
-rw-r--r--youtube_dl/extractor/iqiyi.py4
-rw-r--r--youtube_dl/extractor/vidzi.py4
-rw-r--r--youtube_dl/utils.py16
3 files changed, 11 insertions, 13 deletions
diff --git a/youtube_dl/extractor/iqiyi.py b/youtube_dl/extractor/iqiyi.py
index 4f02b9f87..76ecd55a4 100644
--- a/youtube_dl/extractor/iqiyi.py
+++ b/youtube_dl/extractor/iqiyi.py
@@ -18,7 +18,7 @@ from ..compat import (
compat_urllib_parse_urlparse,
)
from ..utils import (
- base62,
+ base_n,
ExtractorError,
ohdave_rsa_encrypt,
remove_start,
@@ -143,7 +143,7 @@ class IqiyiSDKInterpreter(object):
while count:
count -= 1
- b62count = base62(count)
+ b62count = base_n(count, 62)
symbol_table[b62count] = symbols[count] or b62count
self.sdk_code = re.sub(
diff --git a/youtube_dl/extractor/vidzi.py b/youtube_dl/extractor/vidzi.py
index 4ec07db3a..d671e27de 100644
--- a/youtube_dl/extractor/vidzi.py
+++ b/youtube_dl/extractor/vidzi.py
@@ -5,7 +5,7 @@ import re
from .jwplatform import JWPlatformBaseIE
from ..utils import (
- base36,
+ base_n,
js_to_json,
)
@@ -42,7 +42,7 @@ class VidziIE(JWPlatformBaseIE):
while count:
count -= 1
if symbols[count]:
- code = re.sub(r'\b%s\b' % base36(count), symbols[count], code)
+ code = re.sub(r'\b%s\b' % base_n(count, 36), symbols[count], code)
code = code.replace('\\\'', '\'')
jwplayer_data = self._parse_json(
diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py
index be1f3b0d7..900e07a8e 100644
--- a/youtube_dl/utils.py
+++ b/youtube_dl/utils.py
@@ -2621,19 +2621,17 @@ def ohdave_rsa_encrypt(data, exponent, modulus):
return '%x' % encrypted
-def base_n(num, n, table):
+def base_n(num, n, table=None):
if num == 0:
return '0'
+
+ FULL_TABLE = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
+ assert n <= len(FULL_TABLE)
+ if not table:
+ table = FULL_TABLE[:n]
+
ret = ''
while num:
ret = table[num % n] + ret
num = num // n
return ret
-
-
-def base36(num):
- return base_n(num, 36, '0123456789abcdefghijklmnopqrstuvwxyz')
-
-
-def base62(num):
- return base_n(num, 62, '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ')