bpo-23596: Use argparse for the command line of gzip (GH-9781)

Co-authored-by: Antony Lee <anntzer.lee@gmail.com>
This commit is contained in:
Stéphane Wirtel 2018-10-10 00:41:33 +02:00 committed by Julien Palard
parent 84eec11995
commit e8bbc52deb
2 changed files with 13 additions and 13 deletions

View File

@ -532,18 +532,17 @@ def decompress(data):
return f.read()
def _test():
# Act like gzip; with -d, act like gunzip.
# The input file is not deleted, however, nor are any other gzip
# options or features supported.
args = sys.argv[1:]
decompress = args and args[0] == "-d"
if decompress:
args = args[1:]
if not args:
args = ["-"]
for arg in args:
if decompress:
def main():
from argparse import ArgumentParser
parser = ArgumentParser(description=
"A simple command line interface for the gzip module: act like gzip, "
"but do not delete the input file.")
parser.add_argument("-d", "--decompress", action="store_true",
help="act like gunzip instead of gzip")
parser.add_argument("args", nargs="*", default=["-"], metavar='file')
args = parser.parse_args()
for arg in args.args:
if args.decompress:
if arg == "-":
f = GzipFile(filename="", mode="rb", fileobj=sys.stdin.buffer)
g = sys.stdout.buffer
@ -571,4 +570,4 @@ def _test():
f.close()
if __name__ == '__main__':
_test()
main()

View File

@ -0,0 +1 @@
Use argparse for the command line of the gzip module. Patch by Antony Lee