comparison shasum.py @ 9:81f28bf89c26

Some more output selection options and documentation
author Franz Glasner <fzglas.hg@dom66.de>
date Fri, 04 Dec 2020 15:50:28 +0100
parents 048b97213a23
children 77446cd3ea6f
comparison
equal deleted inserted replaced
8:048b97213a23 9:81f28bf89c26
31 help="1 (default), 224, 256, 384, 512, 3-224, 3-256, 3-384, 3-512, blake2b, blake2s, md5") 31 help="1 (default), 224, 256, 384, 512, 3-224, 3-256, 3-384, 3-512, blake2b, blake2s, md5")
32 aparser.add_argument( 32 aparser.add_argument(
33 "--binary", "-b", action="store_false", dest="text_mode", default=False, 33 "--binary", "-b", action="store_false", dest="text_mode", default=False,
34 help="read in binary mode (default)") 34 help="read in binary mode (default)")
35 aparser.add_argument( 35 aparser.add_argument(
36 "--bsd", "-B", action="store_true", 36 "--bsd", "-B", action="store_true", dest="bsd", default=False,
37 help="write BSD style output") 37 help="write BSD style output; also :command:`openssl dgst` style")
38 aparser.add_argument(
39 "--reverse", "-r", action="store_false", dest="bsd", default=False,
40 help="explicitely select normal coreutils style output (to be option compatible with BSD style commands and :command:`openssl dgst -r`)")
41 aparser.add_argument(
42 "--tag", action="store_true", dest="bsd", default=False,
43 help="alias for the `--bsd' option (to be compatible with :command:`b2sum`)")
38 aparser.add_argument( 44 aparser.add_argument(
39 "--text", "-t", action="store_true", dest="text_mode", default=False, 45 "--text", "-t", action="store_true", dest="text_mode", default=False,
40 help="read in text mode (not supported)") 46 help="read in text mode (not supported)")
41 aparser.add_argument( 47 aparser.add_argument(
42 "files", nargs="*", metavar="FILE") 48 "files", nargs="*", metavar="FILE")
120 raise argparse.ArgumentTypeError( 126 raise argparse.ArgumentTypeError(
121 "`{}' is not a recognized algorithm".format(s)) 127 "`{}' is not a recognized algorithm".format(s))
122 128
123 129
124 def out_bsd(dest, digest, filename, digestname, binary): 130 def out_bsd(dest, digest, filename, digestname, binary):
131 """BSD format output, also :command:`openssl dgst` and
132 :command:`b2sum --tag" format output
133
134 """
125 if filename is None: 135 if filename is None:
126 print(digest, file=dest) 136 print(digest, file=dest)
127 else: 137 else:
128 print("{} ({}) = {}".format(digestname, filename, digest), 138 print("{} ({}) = {}".format(digestname, filename, digest),
129 file=dest) 139 file=dest)
130 140
131 141
132 def out_std(dest, digest, filename, digestname, binary): 142 def out_std(dest, digest, filename, digestname, binary):
143 """Coreutils format (:command:`shasum` et al.)
144
145 """
133 print("{} {}{}".format(digest, 146 print("{} {}{}".format(digest,
134 '*' if binary else ' ', 147 '*' if binary else ' ',
135 '-' if filename is None else filename), 148 '-' if filename is None else filename),
136 file=dest) 149 file=dest)
137 150