Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: rst2pdf/sphinxnodes.py
- ===================================================================
- --- rst2pdf/sphinxnodes.py (リビジョン 2442)
- +++ rst2pdf/sphinxnodes.py (作業コピー)
- @@ -203,6 +203,28 @@
- return '<a href="equation-%s" color="%s">%s</a>'%(node['target'],
- client.styles.linkColor, node.astext())
- +try:
- + import os
- + import sphinxcontrib.seqdiag
- + class HandleSphinxSeqdiag(SphinxHandler, sphinxcontrib.seqdiag.seqdiag):
- + def gather_elements(self, client, node, style):
- + fname, outfn = \
- + sphinxcontrib.seqdiag.get_image_filename(node['builder'],
- + node['code'], 'PNG', node['options'], 'seqdiag')
- + image = sphinxcontrib.seqdiag.create_seqdiag(node['builder'],
- + node['code'], 'PNG', outfn, node['options'], 'seqdiag')
- + if not os.path.isfile(outfn):
- + image.draw()
- + image_size = image.pagesize()
- + options = node['options']
- + if 'maxwidth' in options and options['maxwidth'] < image_size[0]:
- + image.save((options['maxwidth'], image_size[1]))
- + else:
- + image.save()
- + return [MyImage(filename=outfn, client=client)]
- +except ImportError:
- + pass
- +
- graphviz_warn = False
- try:
- Index: rst2pdf/pdfbuilder.py
- ===================================================================
- --- rst2pdf/pdfbuilder.py (リビジョン 2442)
- +++ rst2pdf/pdfbuilder.py (作業コピー)
- @@ -186,15 +186,15 @@
- if self.config.language:
- lang = self.config.language
- try:
- - self.docutils_languages[lang] = get_language(lang)
- + self.docutils_languages[lang] = self.get_language(lang)
- except ImportError:
- try:
- self.docutils_languages[lang] = \
- - get_language(lang.split('_', 1)[0])
- + self.get_language(lang.split('_', 1)[0])
- except ImportError:
- rst2pdf.log.log.warning("Can't load Docutils module \
- for language %s", lang)
- - langmod = languages.get_language('en')
- + langmod = self.get_language('en')
- if self.opts.get('pdf_use_index',self.config.pdf_use_index):
- # Add index at the end of the document
- @@ -338,6 +338,14 @@
- #pass
- return tree
- + def get_language(self, lang):
- + try:
- + return get_language(lang, reporter=rst2pdf.log.log)
- + except TypeError, err: # Docutils < 0.8
- + if 'get_language' in str(err) and 'reporter' in str(err):
- + return get_language(lang)
- + raise # re-raise any other TypeError
- +
- def get_target_uri(self, docname, typ=None):
- #print 'GTU',docname,typ
- # FIXME: production lists are not supported yet!
- @@ -533,17 +541,17 @@
- self.document.walkabout(visitor)
- self.docutils_languages = {}
- lang = self.config.language or 'en'
- - langmod = languages.get_language('en')
- + langmod = self.get_language('en')
- try:
- - langmod = get_language(lang)
- + langmod = self.get_language(lang)
- except ImportError:
- try:
- self.docutils_languages[lang] = \
- - get_language(lang.split('_', 1)[0])
- + self.get_language(lang.split('_', 1)[0])
- except ImportError:
- - log.warning("Can't load Docutils module "\
- + rst2pdf.log.warning("Can't load Docutils module "\
- "for language %s", lang)
- - langmod = languages.get_language('en')
- + langmod = self.get_language('en')
- # Generate Contents topic manually
- if self.use_toc:
- @@ -635,6 +643,14 @@
- compressed=self.compressed)
- self.output=sio.getvalue()
- + def get_language(self, lang):
- + try:
- + return get_language(lang, reporter=rst2pdf.log.log)
- + except TypeError, err: # Docutils < 0.8
- + if 'get_language' in str(err) and 'reporter' in str(err):
- + return get_language(lang)
- + raise # re-raise any other TypeError
- +
- def supports(self, format):
- """This writer supports all format-specific elements."""
- return 1
- @@ -743,6 +759,11 @@
- # Not neat, but I need to send self to my handlers
- node['builder']=self
- + # This is for seqdiag support
- + def visit_seqdiag(self, node):
- + # Not neat, but I need to send self to my handlers
- + node['builder']=self
- +
- def visit_Aanode(self, node):
- pass
Add Comment
Please, Sign In to add comment