#!/usr/bin/env python3 # generates docs/html/full_index.html # (c) The GRASS Development Team, Markus Neteler, Glynn Clements 2003, 2004, 2005, 2006, 2009 import sys import os import string from build_html import * year = None if len(sys.argv) > 1: year = sys.argv[1] os.chdir(html_dir) # TODO: create some master function/dict somewhere class_labels = { "d": "display", "db": "database", "g": "general", "i": "imagery", "m": "miscellaneous", "ps": "PostScript", "r": "raster", "r3": "3D raster", "t": "temporal", "v": "vector", } classes = [] for cmd in html_files("*"): prefix = cmd.split(".")[0] if prefix not in [item[0] for item in classes]: classes.append((prefix, class_labels.get(prefix, prefix))) classes.sort(key=lambda tup: tup[0]) # begin full index: filename = "full_index.html" f = open(filename + ".tmp", "w") write_html_header( f, "GRASS GIS %s Reference Manual: Full index" % grass_version, body_width="80%" ) # generate main index of all modules: f.write(full_index_header) f.write(toc) # for all module groups: for cls, cls_label in classes: f.write(cmd2_tmpl.substitute(cmd_label=to_title(cls_label), cmd=cls)) # for all modules: for cmd in html_files(cls): basename = os.path.splitext(cmd)[0] desc = check_for_desc_override(basename) if desc is None: desc = get_desc(cmd) f.write(desc1_tmpl.substitute(cmd=cmd, basename=basename, desc=desc)) f.write("\n") write_html_footer(f, "index.html", year) f.close() replace_file(filename) # done full index