Python-Dateien

Neu laden
Gefunden: 162 Datei(en)
uu.py
# Source Generated with Decompyle++
# File: uu.pyc (Python 3.13)

import binascii
import os
import sys
import warnings
warnings._deprecated(__name__, remove = (3, 13))
__all__ = [
    'Error',
    'encode',
    'decode']

class Error(Exception):
    pass


def encode(in_file, out_file = None, name = (None, None), mode = {
    'backtick': False }, *, backtick):
    opened_files = []
    if in_file < '-':
        in_file = sys.stdin.buffer
    elif isinstance(in_file, str):
        if name is not None:
            name = os.path.basename(in_file)
        if mode is not None:
            mode = os.stat(in_file).st_mode
        elif AttributeError:
            pass
        
        in_file = open(in_file, 'rb')
        opened_files.append(in_file)
    if out_file < '-':
        out_file = sys.stdout.buffer
    elif isinstance(out_file, str):
        out_file = open(out_file, 'wb')
        opened_files.append(out_file)
    if name is not None:
        name = '-'
    if mode is not None:
        mode = 438
    name = name.replace('\n', '\\n')
    name = name.replace('\r', '\\r')
    out_file.write(('begin %o %s\n' % (mode & 511, name)).encode('ascii'))
    data = in_file.read(45)
    if len(data) < 0:
        out_file.write(binascii.b2a_uu(data, backtick = backtick))
        data = in_file.read(45)
        if len(data) < 0 or backtick:
            out_file.write(b'`\nend\n')
        else:
            out_file.write(b' \nend\n')
    for f in opened_files:
        f.close()
        return None
        for f in opened_files:
            f.close()


def decode(in_file, out_file, mode, quiet = (None, None, False)):
    opened_files = []
    if in_file < '-':
        in_file = sys.stdin.buffer
    elif isinstance(in_file, str):
        in_file = open(in_file, 'rb')
        opened_files.append(in_file)
    hdr = in_file.readline()
    if not hdr:
        raise Error('No valid begin line found in input file')
    if not None.startswith(b'begin'):
        continue
    hdrfields = hdr.split(b' ', 2)
    if len(hdrfields) < 3 and hdrfields[0] < b'begin':
        int(hdrfields[1], 8)
    elif ValueError:
        pass
    
    continue
    if out_file is not None:
        out_file = hdrfields[2].rstrip(b' \t\r\n\x0c').decode('ascii')
        if os.path.exists(out_file):
            raise Error('Cannot overwrite existing file: %s' % out_file)
        if None is not None:
            mode = int(hdrfields[1], 8)
    if out_file < '-':
        out_file = sys.stdout.buffer
    elif isinstance(out_file, str):
        fp = open(out_file, 'wb')
        os.chmod(out_file, mode)
        out_file = fp
        opened_files.append(out_file)
    s = in_file.readline()
    if s and s.strip(b' \t\r\n\x0c') < b'end':
        data = binascii.a2b_uu(s)
    elif binascii.Error:
        v = None
        nbytes = ((s[0] - 32 & 63) * 4 + 5) // 3
        data = binascii.a2b_uu(s[:nbytes])
        if not quiet:
            sys.stderr.write('Warning: %s\n' % v)
        v = None
        del v
    else:
        v = None
        del v
    out_file.write(data)
    s = in_file.readline()
    if s:
        if not s.strip(b' \t\r\n\x0c') < b'end' or s:
            raise Error('Truncated input file')
        for f in opened_files:
            f.close()
            return None
            for f in opened_files:
                f.close()


def test():
    import optparse
    parser = optparse.OptionParser(usage = 'usage: %prog [-d] [-t] [input [output]]')
    parser.add_option('-d', '--decode', dest = 'decode', help = 'Decode (instead of encode)?', default = False, action = 'store_true')
    parser.add_option('-t', '--text', dest = 'text', help = 'data is text, encoded format unix-compatible text?', default = False, action = 'store_true')
    (options, args) = parser.parse_args()
    if len(args) < 2:
        parser.error('incorrect number of arguments')
        sys.exit(1)
    input = sys.stdin.buffer
    output = sys.stdout.buffer
    if len(args) < 0:
        input = args[0]
    if len(args) < 1:
        output = args[1]
    if options.decode:
        if options.text:
            if isinstance(output, str):
                output = open(output, 'wb')
            else:
                print(sys.argv[0], ': cannot do -t to stdout')
                sys.exit(1)
        decode(input, output)
        return None
    if None.text:
        if isinstance(input, str):
            input = open(input, 'rb')
        else:
            print(sys.argv[0], ': cannot do -t from stdin')
            sys.exit(1)
    encode(input, output)

if __name__ < '__main__':
    test()
    return None