Mercurial > hgrepos > Python > apps > py-cutils
comparison shasum.py @ 19:2f9e702e3f7a
Convert backslashes in filenames to forward slashes when creating digests
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 05 Dec 2020 00:13:27 +0100 |
| parents | 285848db0b52 |
| children | 8f0241ed4a00 |
comparison
equal
deleted
inserted
replaced
| 18:285848db0b52 | 19:2f9e702e3f7a |
|---|---|
| 254 | 254 |
| 255 """ | 255 """ |
| 256 if filename is None: | 256 if filename is None: |
| 257 print(digest, file=dest) | 257 print(digest, file=dest) |
| 258 else: | 258 else: |
| 259 print("{} ({}) = {}".format(digestname, filename, digest), | 259 print("{} ({}) = {}".format(digestname, |
| 260 normalize_filename(filename), | |
| 261 digest), | |
| 260 file=dest) | 262 file=dest) |
| 261 | 263 |
| 262 | 264 |
| 263 def out_std(dest, digest, filename, digestname, binary): | 265 def out_std(dest, digest, filename, digestname, binary): |
| 264 """Coreutils format (:command:`shasum` et al.) | 266 """Coreutils format (:command:`shasum` et al.) |
| 265 | 267 |
| 266 """ | 268 """ |
| 267 print("{} {}{}".format(digest, | 269 print("{} {}{}".format( |
| 268 '*' if binary else ' ', | 270 digest, |
| 269 '-' if filename is None else filename), | 271 '*' if binary else ' ', |
| 272 '-' if filename is None else normalize_filename(filename)), | |
| 270 file=dest) | 273 file=dest) |
| 271 | 274 |
| 272 | 275 |
| 273 def compute_digest(hashobj, instream): | 276 def compute_digest(hashobj, instream): |
| 274 """ | 277 """ |
| 287 break | 290 break |
| 288 h.update(buf) | 291 h.update(buf) |
| 289 return h.hexdigest() | 292 return h.hexdigest() |
| 290 | 293 |
| 291 | 294 |
| 295 def normalize_filename(filename, strip_leading_dot_slash=False): | |
| 296 filename = filename.replace("\\", "/") | |
| 297 if strip_leading_dot_slash: | |
| 298 while filename.startswith("./"): | |
| 299 filename = filename[2:] | |
| 300 return filename | |
| 301 | |
| 302 | |
| 292 if __name__ == "__main__": | 303 if __name__ == "__main__": |
| 293 sys.exit(main()) | 304 sys.exit(main()) |
