summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2009-03-16 21:15:26 +0100
committerGeorg Brandl <georg@python.org>2009-03-16 21:15:26 +0100
commit76fe43679a3aa2a2e1941ef04140c569478254cb (patch)
tree92192031e534409710db143c2e618b31ce2e1978
parentb7ba1a3be7b22d45d6d044c3010bca7fa5701588 (diff)
downloadsphinx-76fe43679a3aa2a2e1941ef04140c569478254cb.tar.gz
Fix for graphviz map files from Sebastian Wiesner.
-rw-r--r--sphinx/ext/graphviz.py14
1 files changed, 8 insertions, 6 deletions
diff --git a/sphinx/ext/graphviz.py b/sphinx/ext/graphviz.py
index d51e2ed5..ea7b206d 100644
--- a/sphinx/ext/graphviz.py
+++ b/sphinx/ext/graphviz.py
@@ -91,7 +91,7 @@ def render_dot(self, code, options, format, prefix='graphviz'):
outfn = path.join(self.builder.outdir, fname)
if path.isfile(outfn):
- return relfn
+ return relfn, outfn
if hasattr(self.builder, '_graphviz_warned_dot') or \
hasattr(self.builder, '_graphviz_warned_ps2pdf'):
@@ -122,12 +122,12 @@ def render_dot(self, code, options, format, prefix='graphviz'):
if p.returncode != 0:
raise GraphvizError('dot exited with error:\n[stderr]\n%s\n'
'[stdout]\n%s' % (stderr, stdout))
- return relfn
+ return relfn, outfn
def render_dot_html(self, node, code, options, prefix='graphviz', imgcls=None):
try:
- fname = render_dot(self, code, options, 'png', prefix)
+ fname, outfn = render_dot(self, code, options, 'png', prefix)
except GraphvizError, exc:
self.builder.warn('dot code %r: ' % code + str(exc))
raise nodes.SkipNode
@@ -136,9 +136,11 @@ def render_dot_html(self, node, code, options, prefix='graphviz', imgcls=None):
if fname is None:
self.body.append(self.encode(code))
else:
- mapfile = open(path.join(self.builder.outdir, fname) + '.map', 'rb')
- imgmap = mapfile.readlines()
- mapfile.close()
+ mapfile = open(outfn + '.map', 'rb')
+ try:
+ imgmap = mapfile.readlines()
+ finally:
+ mapfile.close()
imgcss = imgcls and 'class="%s"' % imgcls or ''
if len(imgmap) == 2:
# nothing in image map (the lines are <map> and </map>)