build_class.py 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  1. #!/usr/bin/env python3
  2. # generates HTML man pages docs/html/<category>.html
  3. # (C) 2003-2019 Markus Neteler and the GRASS Development Team
  4. # Authors:
  5. # Markus Neteler
  6. # Glynn Clements
  7. import sys
  8. import os
  9. from build_html import *
  10. no_intro_page_classes = ["display", "general", "miscellaneous", "postscript"]
  11. os.chdir(html_dir)
  12. # write separate module pages:
  13. # for all module groups:
  14. cls = sys.argv[1]
  15. modclass = sys.argv[2]
  16. year = None
  17. if len(sys.argv) > 3:
  18. year = sys.argv[3]
  19. filename = modclass + ".html"
  20. f = open(filename + ".tmp", "w")
  21. write_html_header(
  22. f,
  23. "%s modules - GRASS GIS %s Reference Manual"
  24. % (modclass.capitalize(), grass_version),
  25. )
  26. modclass_lower = modclass.lower()
  27. modclass_visible = modclass
  28. if modclass_lower not in no_intro_page_classes:
  29. if modclass_visible == "raster3d":
  30. # covert keyword to nice form
  31. modclass_visible = "3D raster"
  32. f.write(
  33. modclass_intro_tmpl.substitute(
  34. modclass=modclass_visible, modclass_lower=modclass_lower
  35. )
  36. )
  37. f.write(modclass_tmpl.substitute(modclass=to_title(modclass_visible)))
  38. # for all modules:
  39. for cmd in html_files(cls):
  40. basename = os.path.splitext(cmd)[0]
  41. desc = check_for_desc_override(basename)
  42. if desc is None:
  43. desc = get_desc(cmd)
  44. f.write(desc2_tmpl.substitute(cmd=cmd, basename=basename, desc=desc))
  45. f.write("</table>\n")
  46. write_html_footer(f, "index.html", year)
  47. f.close()
  48. replace_file(filename)