From 12e18454ba07c3b7747f8b868f6830f05de149c4 Mon Sep 17 00:00:00 2001 From: Kévin Le Gouguec Date: Sun, 12 Apr 2020 23:06:07 +0200 Subject: 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. --- repo/www/generate-index.py | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'repo/www/generate-index.py') 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': -- cgit v1.2.3