generate-tree.py (803B)
1 #!/usr/bin/env python3 2 3 from argparse import ArgumentParser 4 import json 5 6 from git import Repo 7 8 from helpers import compute_directories 9 10 11 def parse_arguments(): 12 parser = ArgumentParser() 13 parser.add_argument('-o', '--output', help='Path to the output file.') 14 parser.add_argument( 15 'extensions', nargs='+', 16 help='File extensions to consider when recording pages.' 17 ) 18 return parser.parse_args() 19 20 21 def main(arguments): 22 repo = Repo(search_parent_directories=True) 23 24 directories = compute_directories(arguments.extensions, repo) 25 serialized = ((d, directories[d].serialize()) for d in sorted(directories)) 26 27 with open(arguments.output, 'w') as out: 28 json.dump(dict(serialized), out, sort_keys=True) 29 30 31 if __name__ == '__main__': 32 main(parse_arguments())