genguppydoc.py 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. #._cv_part genguppydoc.py
  2. import guppy,os
  3. from os.path import join
  4. class GenGuppyDoc:
  5. extemplate = """\
  6. .document: gslexample
  7. ..output: html
  8. ..h1: GSL Document and Test Example
  9. ..ul
  10. ...li
  11. ....a: Source Code
  12. .....href= #source
  13. ...li
  14. ....a: Generated Test Class
  15. .....href= #test
  16. ...li
  17. ....a: Generated Document
  18. .....href= docexample.html
  19. ..a
  20. ...name=source
  21. ...h2: Source Code
  22. ..pre
  23. %s
  24. ..c: end pre
  25. ..a
  26. ...name=test
  27. ...h2: Generated Test Class
  28. ..pre
  29. %s
  30. ..c: end pre
  31. """
  32. def __init__(self, input_dir=None, output_dir=None):
  33. if input_dir is None:
  34. # Default to current directory
  35. input_dir = os.getcwd()
  36. if output_dir is None:
  37. output_dir = join(input_dir, '..','guppy','doc')
  38. self.input_dir = input_dir
  39. self.output_dir = output_dir
  40. self.gsl = guppy.Root().guppy.gsl
  41. def gen(self, gslfile, **kwds):
  42. self.gsl.Main.main(gslfile, input_dir=self.input_dir,
  43. output_dir=self.output_dir, **kwds)
  44. def genext(self):
  45. self.gen('genext.gsl')
  46. def genguppy(self):
  47. self.gen('genguppy.gsl')
  48. def gengsl(self):
  49. self.gen('index.gsl')
  50. self.gen('heapy_tutorial.gsl')
  51. self.gen('gsl.gsl')
  52. self.gen('docexample.gsl')
  53. gslexample = self.extemplate % (
  54. ('\n'+open(join(self.input_dir, 'docexample.gsl')).read()).replace('\n.','\n\\.'),
  55. open(join(self.output_dir, 'docexample.py')).read())
  56. self.gen('gslexample.gsl',input_string=gslexample)
  57. def main():
  58. g=GenGuppyDoc()
  59. g.genext()
  60. g.genguppy()
  61. g.gengsl()
  62. if __name__=='__main__':
  63. main()