diff options
author | Stéphane Wirtel <stephane@wirtel.be> | 2018-10-10 00:41:33 +0200 |
---|---|---|
committer | Julien Palard <julien@palard.fr> | 2018-10-10 00:41:33 +0200 |
commit | e8bbc52debfd1b28517946d65db257e6b6d92e29 (patch) | |
tree | a0e91d3a9e3655d82006d6d564001c58afcc26f6 /Lib/gzip.py | |
parent | 84eec1199583bcb034e43337bcb8e2b876ebd269 (diff) | |
download | cpython-git-e8bbc52debfd1b28517946d65db257e6b6d92e29.tar.gz |
bpo-23596: Use argparse for the command line of gzip (GH-9781)
Co-authored-by: Antony Lee <anntzer.lee@gmail.com>
Diffstat (limited to 'Lib/gzip.py')
-rw-r--r-- | Lib/gzip.py | 25 |
1 files changed, 12 insertions, 13 deletions
diff --git a/Lib/gzip.py b/Lib/gzip.py index ddc7bda1fe..a34d01ae36 100644 --- a/Lib/gzip.py +++ b/Lib/gzip.py @@ -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() |