diff options
author | Georg Brandl <georg@python.org> | 2009-03-16 21:15:26 +0100 |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-03-16 21:15:26 +0100 |
commit | 76fe43679a3aa2a2e1941ef04140c569478254cb (patch) | |
tree | 92192031e534409710db143c2e618b31ce2e1978 | |
parent | b7ba1a3be7b22d45d6d044c3010bca7fa5701588 (diff) | |
download | sphinx-76fe43679a3aa2a2e1941ef04140c569478254cb.tar.gz |
Fix for graphviz map files from Sebastian Wiesner.
-rw-r--r-- | sphinx/ext/graphviz.py | 14 |
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>) |