Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 54c1510

Browse files
committed
improved test/main program
1 parent a1e7e62 commit 54c1510

2 files changed

Lines changed: 43 additions & 10 deletions

File tree

Lib/base64.py

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,18 +106,19 @@ def decodestring(s):
106106
decode(f, g)
107107
return g.getvalue()
108108

109-
# Small test program, reads stdin, writes stdout.
110-
# no arg: encode, any arg: decode.
109+
# Small test program
111110
def test():
112111
import sys, getopt
113112
try:
114113
opts, args = getopt.getopt(sys.argv[1:], 'deut')
115114
except getopt.error, msg:
115+
sys.stdout = sys.stderr
116116
print msg
117117
print """usage: basd64 [-d] [-e] [-u] [-t] [file|-]
118118
-d, -u: decode
119119
-e: encode (default)
120120
-t: decode string 'Aladdin:open sesame'"""
121+
sys.exit(2)
121122
func = encode
122123
for o, a in opts:
123124
if o == '-e': func = encode

Lib/quopri.py

Lines changed: 40 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -89,13 +89,45 @@ def unhex(s):
8989

9090
def test():
9191
import sys
92-
if sys.argv[1:]:
93-
if sys.argv[1] == '-t': # Quote tabs
94-
encode(sys.stdin, sys.stdout, 1)
95-
else:
96-
decode(sys.stdin, sys.stdout)
97-
else:
98-
encode(sys.stdin, sys.stdout, 0)
92+
import getopt
93+
try:
94+
opts, args = getopt.getopt(sys.argv[1:], 'td')
95+
except getopt.error, msg:
96+
sys.stdout = sys.stderr
97+
print msg
98+
print "usage: quopri [-t | -d] [file] ..."
99+
print "-t: quote tabs"
100+
print "-d: decode; default encode"
101+
sys.exit(2)
102+
deco = 0
103+
tabs = 0
104+
for o, a in opts:
105+
if o == '-t': tabs = 1
106+
if o == '-d': deco = 1
107+
if tabs and deco:
108+
sys.stdout = sys.stderr
109+
print "-t and -d are mutually exclusive"
110+
sys.exit(2)
111+
if not args: args = ['-']
112+
sts = 0
113+
for file in args:
114+
if file == '-':
115+
fp = sys.stdin
116+
else:
117+
try:
118+
fp = open(file)
119+
except IOError, msg:
120+
sys.stderr.write("%s: can't open (%s)\n" % (file, msg))
121+
sts = 1
122+
continue
123+
if deco:
124+
decode(fp, sys.stdout)
125+
else:
126+
encode(fp, sys.stdout, tabs)
127+
if fp is not sys.stdin:
128+
fp.close()
129+
if sts:
130+
sys.exit(sts)
99131

100132
if __name__ == '__main__':
101-
main()
133+
test()

0 commit comments

Comments
 (0)