MCPcopy Create free account
hub / github.com/RT-Thread/env-windows / encode

Function encode

tools/python-3.11.9-amd64/Lib/uu.py:45–100  ·  view source on GitHub ↗

Uuencode file

(in_file, out_file, name=None, mode=None, *, backtick=False)

Source from the content-addressed store, hash-verified

43 pass
44
45def encode(in_file, out_file, name=None, mode=None, *, backtick=False):
46 """Uuencode file"""
47 #
48 # If in_file is a pathname open it and change defaults
49 #
50 opened_files = []
51 try:
52 if in_file == '-':
53 in_file = sys.stdin.buffer
54 elif isinstance(in_file, str):
55 if name is None:
56 name = os.path.basename(in_file)
57 if mode is None:
58 try:
59 mode = os.stat(in_file).st_mode
60 except AttributeError:
61 pass
62 in_file = open(in_file, 'rb')
63 opened_files.append(in_file)
64 #
65 # Open out_file if it is a pathname
66 #
67 if out_file == '-':
68 out_file = sys.stdout.buffer
69 elif isinstance(out_file, str):
70 out_file = open(out_file, 'wb')
71 opened_files.append(out_file)
72 #
73 # Set defaults for name and mode
74 #
75 if name is None:
76 name = '-'
77 if mode is None:
78 mode = 0o666
79
80 #
81 # Remove newline chars from name
82 #
83 name = name.replace('\n','\\n')
84 name = name.replace('\r','\\r')
85
86 #
87 # Write the data
88 #
89 out_file.write(('begin %o %s\n' % ((mode & 0o777), name)).encode("ascii"))
90 data = in_file.read(45)
91 while len(data) > 0:
92 out_file.write(binascii.b2a_uu(data, backtick=backtick))
93 data = in_file.read(45)
94 if backtick:
95 out_file.write(b'`\nend\n')
96 else:
97 out_file.write(b' \nend\n')
98 finally:
99 for f in opened_files:
100 f.close()
101
102

Callers 1

testFunction · 0.70

Calls 9

basenameMethod · 0.80
openFunction · 0.70
statMethod · 0.45
appendMethod · 0.45
replaceMethod · 0.45
writeMethod · 0.45
encodeMethod · 0.45
readMethod · 0.45
closeMethod · 0.45

Tested by

no test coverage detected