#!/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