Mercurial > hgrepos > Python > apps > py-cutils
annotate shasum.py @ 177:089c40240061
Add an alternate implementation for generating directory tree digests:
- Do not use something like os.walk() but use os.scandir() directly.
- Recursively generate the subdirectory digests only when needed and in
the right order.
This fixes that the order of subdirectories in the output did not
match the application order of its directory digests.
The new implementation also should make filtering (that will be
implemented later) easier.
NOTE: The tree digests of the old and the new implementation are identical.
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 11 Jan 2025 17:41:28 +0100 |
| parents | 1e5127028254 |
| children | 48430941c18c |
| rev | line source |
|---|---|
|
74
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 # :- |
|
122
1e5127028254
Move the real computation of digests from files and streams into dedicated submodule cutils.util.digest
Franz Glasner <fzglas.hg@dom66.de>
parents:
119
diff
changeset
|
3 # :Copyright: (c) 2020-2025 Franz Glasner |
|
74
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 # :License: BSD-3-Clause |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 # :- |
| 113 | 6 r"""Pure Python implementation of `shasum`. |
|
74
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
8 """ |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 from __future__ import absolute_import |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 import sys |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 import cutils.shasum |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 |
|
6cec638c995c
Make dos2unix.py and shasum.py convenience wrappers to call the tools if the package is not unstalled
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 sys.exit(cutils.shasum.main()) |
