build_class.py 1.4 KB

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