mirror of
https://github.com/Tautulli/Tautulli.git
synced 2025-07-12 16:22:57 -07:00
Add webencodings-0.5.1
This commit is contained in:
parent
82ed09cac9
commit
d6f94aaa8b
5 changed files with 1110 additions and 0 deletions
325
lib/webencodings/x_user_defined.py
Normal file
325
lib/webencodings/x_user_defined.py
Normal file
|
@ -0,0 +1,325 @@
|
|||
# coding: utf-8
|
||||
"""
|
||||
|
||||
webencodings.x_user_defined
|
||||
~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
An implementation of the x-user-defined encoding.
|
||||
|
||||
:copyright: Copyright 2012 by Simon Sapin
|
||||
:license: BSD, see LICENSE for details.
|
||||
|
||||
"""
|
||||
|
||||
from __future__ import unicode_literals
|
||||
|
||||
import codecs
|
||||
|
||||
|
||||
### Codec APIs
|
||||
|
||||
class Codec(codecs.Codec):
|
||||
|
||||
def encode(self, input, errors='strict'):
|
||||
return codecs.charmap_encode(input, errors, encoding_table)
|
||||
|
||||
def decode(self, input, errors='strict'):
|
||||
return codecs.charmap_decode(input, errors, decoding_table)
|
||||
|
||||
|
||||
class IncrementalEncoder(codecs.IncrementalEncoder):
|
||||
def encode(self, input, final=False):
|
||||
return codecs.charmap_encode(input, self.errors, encoding_table)[0]
|
||||
|
||||
|
||||
class IncrementalDecoder(codecs.IncrementalDecoder):
|
||||
def decode(self, input, final=False):
|
||||
return codecs.charmap_decode(input, self.errors, decoding_table)[0]
|
||||
|
||||
|
||||
class StreamWriter(Codec, codecs.StreamWriter):
|
||||
pass
|
||||
|
||||
|
||||
class StreamReader(Codec, codecs.StreamReader):
|
||||
pass
|
||||
|
||||
|
||||
### encodings module API
|
||||
|
||||
codec_info = codecs.CodecInfo(
|
||||
name='x-user-defined',
|
||||
encode=Codec().encode,
|
||||
decode=Codec().decode,
|
||||
incrementalencoder=IncrementalEncoder,
|
||||
incrementaldecoder=IncrementalDecoder,
|
||||
streamreader=StreamReader,
|
||||
streamwriter=StreamWriter,
|
||||
)
|
||||
|
||||
|
||||
### Decoding Table
|
||||
|
||||
# Python 3:
|
||||
# for c in range(256): print(' %r' % chr(c if c < 128 else c + 0xF700))
|
||||
decoding_table = (
|
||||
'\x00'
|
||||
'\x01'
|
||||
'\x02'
|
||||
'\x03'
|
||||
'\x04'
|
||||
'\x05'
|
||||
'\x06'
|
||||
'\x07'
|
||||
'\x08'
|
||||
'\t'
|
||||
'\n'
|
||||
'\x0b'
|
||||
'\x0c'
|
||||
'\r'
|
||||
'\x0e'
|
||||
'\x0f'
|
||||
'\x10'
|
||||
'\x11'
|
||||
'\x12'
|
||||
'\x13'
|
||||
'\x14'
|
||||
'\x15'
|
||||
'\x16'
|
||||
'\x17'
|
||||
'\x18'
|
||||
'\x19'
|
||||
'\x1a'
|
||||
'\x1b'
|
||||
'\x1c'
|
||||
'\x1d'
|
||||
'\x1e'
|
||||
'\x1f'
|
||||
' '
|
||||
'!'
|
||||
'"'
|
||||
'#'
|
||||
'$'
|
||||
'%'
|
||||
'&'
|
||||
"'"
|
||||
'('
|
||||
')'
|
||||
'*'
|
||||
'+'
|
||||
','
|
||||
'-'
|
||||
'.'
|
||||
'/'
|
||||
'0'
|
||||
'1'
|
||||
'2'
|
||||
'3'
|
||||
'4'
|
||||
'5'
|
||||
'6'
|
||||
'7'
|
||||
'8'
|
||||
'9'
|
||||
':'
|
||||
';'
|
||||
'<'
|
||||
'='
|
||||
'>'
|
||||
'?'
|
||||
'@'
|
||||
'A'
|
||||
'B'
|
||||
'C'
|
||||
'D'
|
||||
'E'
|
||||
'F'
|
||||
'G'
|
||||
'H'
|
||||
'I'
|
||||
'J'
|
||||
'K'
|
||||
'L'
|
||||
'M'
|
||||
'N'
|
||||
'O'
|
||||
'P'
|
||||
'Q'
|
||||
'R'
|
||||
'S'
|
||||
'T'
|
||||
'U'
|
||||
'V'
|
||||
'W'
|
||||
'X'
|
||||
'Y'
|
||||
'Z'
|
||||
'['
|
||||
'\\'
|
||||
']'
|
||||
'^'
|
||||
'_'
|
||||
'`'
|
||||
'a'
|
||||
'b'
|
||||
'c'
|
||||
'd'
|
||||
'e'
|
||||
'f'
|
||||
'g'
|
||||
'h'
|
||||
'i'
|
||||
'j'
|
||||
'k'
|
||||
'l'
|
||||
'm'
|
||||
'n'
|
||||
'o'
|
||||
'p'
|
||||
'q'
|
||||
'r'
|
||||
's'
|
||||
't'
|
||||
'u'
|
||||
'v'
|
||||
'w'
|
||||
'x'
|
||||
'y'
|
||||
'z'
|
||||
'{'
|
||||
'|'
|
||||
'}'
|
||||
'~'
|
||||
'\x7f'
|
||||
'\uf780'
|
||||
'\uf781'
|
||||
'\uf782'
|
||||
'\uf783'
|
||||
'\uf784'
|
||||
'\uf785'
|
||||
'\uf786'
|
||||
'\uf787'
|
||||
'\uf788'
|
||||
'\uf789'
|
||||
'\uf78a'
|
||||
'\uf78b'
|
||||
'\uf78c'
|
||||
'\uf78d'
|
||||
'\uf78e'
|
||||
'\uf78f'
|
||||
'\uf790'
|
||||
'\uf791'
|
||||
'\uf792'
|
||||
'\uf793'
|
||||
'\uf794'
|
||||
'\uf795'
|
||||
'\uf796'
|
||||
'\uf797'
|
||||
'\uf798'
|
||||
'\uf799'
|
||||
'\uf79a'
|
||||
'\uf79b'
|
||||
'\uf79c'
|
||||
'\uf79d'
|
||||
'\uf79e'
|
||||
'\uf79f'
|
||||
'\uf7a0'
|
||||
'\uf7a1'
|
||||
'\uf7a2'
|
||||
'\uf7a3'
|
||||
'\uf7a4'
|
||||
'\uf7a5'
|
||||
'\uf7a6'
|
||||
'\uf7a7'
|
||||
'\uf7a8'
|
||||
'\uf7a9'
|
||||
'\uf7aa'
|
||||
'\uf7ab'
|
||||
'\uf7ac'
|
||||
'\uf7ad'
|
||||
'\uf7ae'
|
||||
'\uf7af'
|
||||
'\uf7b0'
|
||||
'\uf7b1'
|
||||
'\uf7b2'
|
||||
'\uf7b3'
|
||||
'\uf7b4'
|
||||
'\uf7b5'
|
||||
'\uf7b6'
|
||||
'\uf7b7'
|
||||
'\uf7b8'
|
||||
'\uf7b9'
|
||||
'\uf7ba'
|
||||
'\uf7bb'
|
||||
'\uf7bc'
|
||||
'\uf7bd'
|
||||
'\uf7be'
|
||||
'\uf7bf'
|
||||
'\uf7c0'
|
||||
'\uf7c1'
|
||||
'\uf7c2'
|
||||
'\uf7c3'
|
||||
'\uf7c4'
|
||||
'\uf7c5'
|
||||
'\uf7c6'
|
||||
'\uf7c7'
|
||||
'\uf7c8'
|
||||
'\uf7c9'
|
||||
'\uf7ca'
|
||||
'\uf7cb'
|
||||
'\uf7cc'
|
||||
'\uf7cd'
|
||||
'\uf7ce'
|
||||
'\uf7cf'
|
||||
'\uf7d0'
|
||||
'\uf7d1'
|
||||
'\uf7d2'
|
||||
'\uf7d3'
|
||||
'\uf7d4'
|
||||
'\uf7d5'
|
||||
'\uf7d6'
|
||||
'\uf7d7'
|
||||
'\uf7d8'
|
||||
'\uf7d9'
|
||||
'\uf7da'
|
||||
'\uf7db'
|
||||
'\uf7dc'
|
||||
'\uf7dd'
|
||||
'\uf7de'
|
||||
'\uf7df'
|
||||
'\uf7e0'
|
||||
'\uf7e1'
|
||||
'\uf7e2'
|
||||
'\uf7e3'
|
||||
'\uf7e4'
|
||||
'\uf7e5'
|
||||
'\uf7e6'
|
||||
'\uf7e7'
|
||||
'\uf7e8'
|
||||
'\uf7e9'
|
||||
'\uf7ea'
|
||||
'\uf7eb'
|
||||
'\uf7ec'
|
||||
'\uf7ed'
|
||||
'\uf7ee'
|
||||
'\uf7ef'
|
||||
'\uf7f0'
|
||||
'\uf7f1'
|
||||
'\uf7f2'
|
||||
'\uf7f3'
|
||||
'\uf7f4'
|
||||
'\uf7f5'
|
||||
'\uf7f6'
|
||||
'\uf7f7'
|
||||
'\uf7f8'
|
||||
'\uf7f9'
|
||||
'\uf7fa'
|
||||
'\uf7fb'
|
||||
'\uf7fc'
|
||||
'\uf7fd'
|
||||
'\uf7fe'
|
||||
'\uf7ff'
|
||||
)
|
||||
|
||||
### Encoding table
|
||||
encoding_table = codecs.charmap_build(decoding_table)
|
Loading…
Add table
Add a link
Reference in a new issue