diff options
Diffstat (limited to 'repo/www/generate-index.py')
| -rwxr-xr-x | repo/www/generate-index.py | 18 |
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': |
