Guest User

Untitled

a guest
Aug 17th, 2018
63
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.70 KB | None | 0 0
  1. Index: rst2pdf/sphinxnodes.py
  2. ===================================================================
  3. --- rst2pdf/sphinxnodes.py (リビジョン 2442)
  4. +++ rst2pdf/sphinxnodes.py (作業コピー)
  5. @@ -203,6 +203,28 @@
  6. return '<a href="equation-%s" color="%s">%s</a>'%(node['target'],
  7. client.styles.linkColor, node.astext())
  8.  
  9. +try:
  10. + import os
  11. + import sphinxcontrib.seqdiag
  12. + class HandleSphinxSeqdiag(SphinxHandler, sphinxcontrib.seqdiag.seqdiag):
  13. + def gather_elements(self, client, node, style):
  14. + fname, outfn = \
  15. + sphinxcontrib.seqdiag.get_image_filename(node['builder'],
  16. + node['code'], 'PNG', node['options'], 'seqdiag')
  17. + image = sphinxcontrib.seqdiag.create_seqdiag(node['builder'],
  18. + node['code'], 'PNG', outfn, node['options'], 'seqdiag')
  19. + if not os.path.isfile(outfn):
  20. + image.draw()
  21. + image_size = image.pagesize()
  22. + options = node['options']
  23. + if 'maxwidth' in options and options['maxwidth'] < image_size[0]:
  24. + image.save((options['maxwidth'], image_size[1]))
  25. + else:
  26. + image.save()
  27. + return [MyImage(filename=outfn, client=client)]
  28. +except ImportError:
  29. + pass
  30. +
  31. graphviz_warn = False
  32.  
  33. try:
  34. Index: rst2pdf/pdfbuilder.py
  35. ===================================================================
  36. --- rst2pdf/pdfbuilder.py (リビジョン 2442)
  37. +++ rst2pdf/pdfbuilder.py (作業コピー)
  38. @@ -186,15 +186,15 @@
  39. if self.config.language:
  40. lang = self.config.language
  41. try:
  42. - self.docutils_languages[lang] = get_language(lang)
  43. + self.docutils_languages[lang] = self.get_language(lang)
  44. except ImportError:
  45. try:
  46. self.docutils_languages[lang] = \
  47. - get_language(lang.split('_', 1)[0])
  48. + self.get_language(lang.split('_', 1)[0])
  49. except ImportError:
  50. rst2pdf.log.log.warning("Can't load Docutils module \
  51. for language %s", lang)
  52. - langmod = languages.get_language('en')
  53. + langmod = self.get_language('en')
  54.  
  55. if self.opts.get('pdf_use_index',self.config.pdf_use_index):
  56. # Add index at the end of the document
  57. @@ -338,6 +338,14 @@
  58. #pass
  59. return tree
  60.  
  61. + def get_language(self, lang):
  62. + try:
  63. + return get_language(lang, reporter=rst2pdf.log.log)
  64. + except TypeError, err: # Docutils < 0.8
  65. + if 'get_language' in str(err) and 'reporter' in str(err):
  66. + return get_language(lang)
  67. + raise # re-raise any other TypeError
  68. +
  69. def get_target_uri(self, docname, typ=None):
  70. #print 'GTU',docname,typ
  71. # FIXME: production lists are not supported yet!
  72. @@ -533,17 +541,17 @@
  73. self.document.walkabout(visitor)
  74. self.docutils_languages = {}
  75. lang = self.config.language or 'en'
  76. - langmod = languages.get_language('en')
  77. + langmod = self.get_language('en')
  78. try:
  79. - langmod = get_language(lang)
  80. + langmod = self.get_language(lang)
  81. except ImportError:
  82. try:
  83. self.docutils_languages[lang] = \
  84. - get_language(lang.split('_', 1)[0])
  85. + self.get_language(lang.split('_', 1)[0])
  86. except ImportError:
  87. - log.warning("Can't load Docutils module "\
  88. + rst2pdf.log.warning("Can't load Docutils module "\
  89. "for language %s", lang)
  90. - langmod = languages.get_language('en')
  91. + langmod = self.get_language('en')
  92.  
  93. # Generate Contents topic manually
  94. if self.use_toc:
  95. @@ -635,6 +643,14 @@
  96. compressed=self.compressed)
  97. self.output=sio.getvalue()
  98.  
  99. + def get_language(self, lang):
  100. + try:
  101. + return get_language(lang, reporter=rst2pdf.log.log)
  102. + except TypeError, err: # Docutils < 0.8
  103. + if 'get_language' in str(err) and 'reporter' in str(err):
  104. + return get_language(lang)
  105. + raise # re-raise any other TypeError
  106. +
  107. def supports(self, format):
  108. """This writer supports all format-specific elements."""
  109. return 1
  110. @@ -743,6 +759,11 @@
  111. # Not neat, but I need to send self to my handlers
  112. node['builder']=self
  113.  
  114. + # This is for seqdiag support
  115. + def visit_seqdiag(self, node):
  116. + # Not neat, but I need to send self to my handlers
  117. + node['builder']=self
  118. +
  119. def visit_Aanode(self, node):
  120. pass
Add Comment
Please, Sign In to add comment