diff options
| author | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2020-04-12 23:06:07 +0200 |
|---|---|---|
| committer | Kévin Le Gouguec <kevin.legouguec@gmail.com> | 2020-04-12 23:06:07 +0200 |
| commit | 12e18454ba07c3b7747f8b868f6830f05de149c4 (patch) | |
| tree | 317c3f700b9d088cf30466a197ffc512d12fc183 /repo/www/generate-tree.py | |
| parent | 629664bd50ed4e72cffc33bf2e7082119d483469 (diff) | |
| download | memory-leaks-12e18454ba07c3b7747f8b868f6830f05de149c4.tar.xz | |
Add intermediate step to cache site tree
Seems kind of wasteful to recompute it every time. Also, now
subsequent scripts don't have to care about file extensions anymore.
Diffstat (limited to 'repo/www/generate-tree.py')
| -rwxr-xr-x | repo/www/generate-tree.py | 32 |
1 files changed, 32 insertions, 0 deletions
diff --git a/repo/www/generate-tree.py b/repo/www/generate-tree.py new file mode 100755 index 0000000..d858fe8 --- /dev/null +++ b/repo/www/generate-tree.py @@ -0,0 +1,32 @@ +#!/usr/bin/env python3 + +from argparse import ArgumentParser +import json + +from git import Repo + +from helpers import compute_directories + + +def parse_arguments(): + parser = ArgumentParser() + parser.add_argument('-o', '--output', help='Path to the output file.') + parser.add_argument( + 'extensions', nargs='+', + help='File extensions to consider when recording pages.' + ) + return parser.parse_args() + + +def main(arguments): + repo = Repo(search_parent_directories=True) + + directories = compute_directories(arguments.extensions, repo) + serialized = ((d, directories[d].serialize()) for d in sorted(directories)) + + with open(arguments.output, 'w') as out: + json.dump(dict(serialized), out, sort_keys=True) + + +if __name__ == '__main__': + main(parse_arguments()) |
