Mercurial > hgrepos > Python > apps > py-cutils
comparison cutils/treesum.py @ 146:7d8df8311e3b
Optimize argument parsing for the "version" command
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Fri, 03 Jan 2025 16:32:40 +0100 |
| parents | 073e0faea599 |
| children | ed35f3c9e2b5 |
comparison
equal
deleted
inserted
replaced
| 145:073e0faea599 | 146:7d8df8311e3b |
|---|---|
| 117 help="Alias for \"generate\"", | 117 help="Alias for \"generate\"", |
| 118 description="Generate checksums for directory trees. " | 118 description="Generate checksums for directory trees. " |
| 119 "This is an alias to \"generate\".") | 119 "This is an alias to \"generate\".") |
| 120 _populate_generate_arguments(genparser2) | 120 _populate_generate_arguments(genparser2) |
| 121 | 121 |
| 122 vparser = subparsers.add_parser( | 122 subparsers.add_parser( |
| 123 "version", | 123 "version", |
| 124 help="Show the program's version number and exit", | 124 help="Show the program's version number and exit", |
| 125 description="Show the program's version number and exit.") | 125 description="Show the program's version number and exit.") |
| 126 vparser.add_argument( | 126 |
| 127 "args", nargs=argparse.REMAINDER, help="IGNORED.") | 127 # Parse leniently to just check for "version" |
| 128 | 128 opts, _dummy = parser.parse_known_args(args=argv) |
| 129 opts = parser.parse_args(args=argv) | |
| 130 | 129 |
| 131 if opts.subcommand == "version": | 130 if opts.subcommand == "version": |
| 132 print("%s (rv:%s)" % (__version__, __revision__), | 131 print("%s (rv:%s)" % (__version__, __revision__), |
| 133 file=sys.stdout) | 132 file=sys.stdout) |
| 134 sys.exit(0) | 133 sys.exit(0) |
| 134 | |
| 135 # Reparse strictly | |
| 136 opts = parser.parse_args(args=argv) | |
| 135 | 137 |
| 136 if not opts.algorithm: | 138 if not opts.algorithm: |
| 137 opts.algorithm = util.argv2algo("blake2b-256") | 139 opts.algorithm = util.argv2algo("blake2b-256") |
| 138 | 140 |
| 139 return treesum(opts) | 141 return treesum(opts) |
