/opt/alt/python310/lib64/python3.10/encodings
"""Python 'uu_codec' Codec - UU content transfer encoding. This codec de/encodes from bytes to bytes. Written by Marc-Andre Lemburg (mal@lemburg.com). Some details were adapted from uu.py which was written by Lance Ellinghouse and modified by Jack Jansen and Fredrik Lundh. """ import codecs import binascii from io import BytesIO ### Codec APIs def uu_encode(input, errors='strict', filename='<data>', mode=0o666): assert errors == 'strict' infile = BytesIO(input) outfile = BytesIO() read = infile.read write = outfile.write # Remove newline chars from filename filename = filename.replace('\n','\\n') filename = filename.replace('\r','\\r') # Encode write(('begin %o %s\n' % (mode & 0o777, filename)).encode('ascii')) chunk = read(45) while chunk: write(binascii.b2a_uu(chunk)) chunk = read(45) write(b' \nend\n') return (outfile.getvalue(), len(input)) def uu_decode(input, errors='strict'): assert errors == 'strict' infile = BytesIO(input) outfile = BytesIO() readline = infile.readline write = outfile.write # Find start of encoded data while 1: s = readline() if not s: raise ValueError('Missing "begin" line in input data') if s[:5] == b'begin': break # Decode while True: s = readline() if not s or s == b'end\n': break try: data = binascii.a2b_uu(s) except binascii.Error as v: # Workaround for broken uuencoders by /Fredrik Lundh nbytes = (((s[0]-32) & 63) * 4 + 5) // 3 data = binascii.a2b_uu(s[:nbytes]) #sys.stderr.write("Warning: %s\n" % str(v)) write(data) if not s: raise ValueError('Truncated input data') return (outfile.getvalue(), len(input)) class Codec(codecs.Codec): def encode(self, input, errors='strict'): return uu_encode(input, errors) def decode(self, input, errors='strict'): return uu_decode(input, errors) class IncrementalEncoder(codecs.IncrementalEncoder): def encode(self, input, final=False): return uu_encode(input, self.errors)[0] class IncrementalDecoder(codecs.IncrementalDecoder): def decode(self, input, final=False): return uu_decode(input, self.errors)[0] class StreamWriter(Codec, codecs.StreamWriter): charbuffertype = bytes class StreamReader(Codec, codecs.StreamReader): charbuffertype = bytes ### encodings module API def getregentry(): return codecs.CodecInfo( name='uu', encode=uu_encode, decode=uu_decode, incrementalencoder=IncrementalEncoder, incrementaldecoder=IncrementalDecoder, streamreader=StreamReader, streamwriter=StreamWriter, _is_text_encoding=False, )
.
Edit
..
Edit
__init__.py
Edit
__pycache__
Edit
aliases.py
Edit
ascii.py
Edit
base64_codec.py
Edit
big5.py
Edit
big5hkscs.py
Edit
bz2_codec.py
Edit
charmap.py
Edit
cp037.py
Edit
cp1006.py
Edit
cp1026.py
Edit
cp1125.py
Edit
cp1140.py
Edit
cp1250.py
Edit
cp1251.py
Edit
cp1252.py
Edit
cp1253.py
Edit
cp1254.py
Edit
cp1255.py
Edit
cp1256.py
Edit
cp1257.py
Edit
cp1258.py
Edit
cp273.py
Edit
cp424.py
Edit
cp437.py
Edit
cp500.py
Edit
cp720.py
Edit
cp737.py
Edit
cp775.py
Edit
cp850.py
Edit
cp852.py
Edit
cp855.py
Edit
cp856.py
Edit
cp857.py
Edit
cp858.py
Edit
cp860.py
Edit
cp861.py
Edit
cp862.py
Edit
cp863.py
Edit
cp864.py
Edit
cp865.py
Edit
cp866.py
Edit
cp869.py
Edit
cp874.py
Edit
cp875.py
Edit
cp932.py
Edit
cp949.py
Edit
cp950.py
Edit
euc_jis_2004.py
Edit
euc_jisx0213.py
Edit
euc_jp.py
Edit
euc_kr.py
Edit
gb18030.py
Edit
gb2312.py
Edit
gbk.py
Edit
hex_codec.py
Edit
hp_roman8.py
Edit
hz.py
Edit
idna.py
Edit
iso2022_jp.py
Edit
iso2022_jp_1.py
Edit
iso2022_jp_2.py
Edit
iso2022_jp_2004.py
Edit
iso2022_jp_3.py
Edit
iso2022_jp_ext.py
Edit
iso2022_kr.py
Edit
iso8859_1.py
Edit
iso8859_10.py
Edit
iso8859_11.py
Edit
iso8859_13.py
Edit
iso8859_14.py
Edit
iso8859_15.py
Edit
iso8859_16.py
Edit
iso8859_2.py
Edit
iso8859_3.py
Edit
iso8859_4.py
Edit
iso8859_5.py
Edit
iso8859_6.py
Edit
iso8859_7.py
Edit
iso8859_8.py
Edit
iso8859_9.py
Edit
johab.py
Edit
koi8_r.py
Edit
koi8_t.py
Edit
koi8_u.py
Edit
kz1048.py
Edit
latin_1.py
Edit
mac_arabic.py
Edit
mac_croatian.py
Edit
mac_cyrillic.py
Edit
mac_farsi.py
Edit
mac_greek.py
Edit
mac_iceland.py
Edit
mac_latin2.py
Edit
mac_roman.py
Edit
mac_romanian.py
Edit
mac_turkish.py
Edit
mbcs.py
Edit
oem.py
Edit
palmos.py
Edit
ptcp154.py
Edit
punycode.py
Edit
quopri_codec.py
Edit
raw_unicode_escape.py
Edit
rot_13.py
Edit
shift_jis.py
Edit
shift_jis_2004.py
Edit
shift_jisx0213.py
Edit
tis_620.py
Edit
undefined.py
Edit
unicode_escape.py
Edit
utf_16.py
Edit
utf_16_be.py
Edit
utf_16_le.py
Edit
utf_32.py
Edit
utf_32_be.py
Edit
utf_32_le.py
Edit
utf_7.py
Edit
utf_8.py
Edit
utf_8_sig.py
Edit
uu_codec.py
Edit
zlib_codec.py
Edit