summaryrefslogtreecommitdiff
path: root/repo/www/generate-index.py
diff options
context:
space:
mode:
authorKévin Le Gouguec <kevin.legouguec@gmail.com>2020-04-12 23:06:07 +0200
committerKévin Le Gouguec <kevin.legouguec@gmail.com>2020-04-12 23:06:07 +0200
commit12e18454ba07c3b7747f8b868f6830f05de149c4 (patch)
tree317c3f700b9d088cf30466a197ffc512d12fc183 /repo/www/generate-index.py
parent629664bd50ed4e72cffc33bf2e7082119d483469 (diff)
downloadmemory-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-index.py')
-rwxr-xr-xrepo/www/generate-index.py18
1 files changed, 9 insertions, 9 deletions
diff --git a/repo/www/generate-index.py b/repo/www/generate-index.py
index 96c5dc6..d28c6a6 100755
--- a/repo/www/generate-index.py
+++ b/repo/www/generate-index.py
@@ -1,19 +1,19 @@
#!/usr/bin/env python3
from argparse import ArgumentParser
+import json
from os import path
from subprocess import run
from git import Repo
-from helpers import compute_directories
+from helpers import deserialize_directories
def parse_arguments():
parser = ArgumentParser()
parser.add_argument(
- 'extensions', type=str.split,
- help='File extensions to consider when recording pages.'
+ 'site_tree', help='JSON file describing the page tree.'
)
parser.add_argument(
'target', help='Pathspec to generate an index for.'
@@ -24,8 +24,9 @@ def parse_arguments():
return parser.parse_args()
-def list_files(extensions, folder, repo):
- directories = compute_directories(extensions, repo)
+def list_files(tree_file, folder):
+ with open(tree_file) as tree:
+ directories = deserialize_directories(json.load(tree))
return directories[folder].subfolders, directories[folder].files
@@ -59,16 +60,15 @@ def convert_page(content, output):
def main(arguments):
- repo = Repo(search_parent_directories=True)
-
target = arguments.target
- extensions = arguments.extensions
- folders, files = list_files(extensions, target, repo)
+ folders, files = list_files(arguments.site_tree, target)
names = []
intro = None
+ repo = Repo(search_parent_directories=True)
+
for f in files:
name, _ = path.splitext(f)
if name == 'README':