diff options
Diffstat (limited to 'youtube_dl/utils.py')
| -rw-r--r-- | youtube_dl/utils.py | 13 | 
1 files changed, 13 insertions, 0 deletions
| diff --git a/youtube_dl/utils.py b/youtube_dl/utils.py index 0d30075aa..b14603d8a 100644 --- a/youtube_dl/utils.py +++ b/youtube_dl/utils.py @@ -5383,6 +5383,19 @@ def decode_packed_codes(code):          obfucasted_code) +def caesar(s, alphabet, shift): +    if shift == 0: +        return s +    l = len(alphabet) +    return ''.join( +        alphabet[(alphabet.index(c) + shift) % l] if c in alphabet else c +        for c in s) + + +def rot47(s): +    return caesar(s, r'''!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~''', 47) + +  def parse_m3u8_attributes(attrib):      info = {}      for (key, val) in re.findall(r'(?P<key>[A-Z0-9-]+)=(?P<val>"[^"]+"|[^",]+)(?:,|$)', attrib): | 
