Revision: 6915
          http://matplotlib.svn.sourceforge.net/matplotlib/?rev=6915&view=rev
Author:   mdboom
Date:     2009-02-16 14:12:13 +0000 (Mon, 16 Feb 2009)

Log Message:
-----------
Move the mathmpl Sphinx extension to the installed tree so that other projects 
can take advantage of it.

Modified Paths:
--------------
    branches/v0_98_5_maint/doc/conf.py
    branches/v0_98_5_maint/setup.py

Added Paths:
-----------
    branches/v0_98_5_maint/lib/matplotlib/sphinxext/
    branches/v0_98_5_maint/lib/matplotlib/sphinxext/__init__.py
    branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py
    branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py

Removed Paths:
-------------
    branches/v0_98_5_maint/doc/sphinxext/mathmpl.py
    branches/v0_98_5_maint/doc/sphinxext/only_directives.py

Modified: branches/v0_98_5_maint/doc/conf.py
===================================================================
--- branches/v0_98_5_maint/doc/conf.py  2009-02-15 00:12:19 UTC (rev 6914)
+++ branches/v0_98_5_maint/doc/conf.py  2009-02-16 14:12:13 UTC (rev 6915)
@@ -27,9 +27,9 @@
 
 # Add any Sphinx extension module names here, as strings. They can be 
extensions
 # coming with Sphinx (named 'sphinx.ext.*') or your custom ones.
-extensions = ['mathmpl', 'math_symbol_table', 'sphinx.ext.autodoc',
-              'only_directives', 'plot_directive', 'inheritance_diagram',
-              'gen_gallery', 'gen_rst']
+extensions = ['matplotlib.sphinxext.mathmpl', 'math_symbol_table',
+              'sphinx.ext.autodoc', 'matplotlib.sphinxext.only_directives',
+              'plot_directive', 'inheritance_diagram', 'gen_gallery', 
'gen_rst']
 
 # Add any paths that contain templates here, relative to this directory.
 templates_path = ['_templates']

Deleted: branches/v0_98_5_maint/doc/sphinxext/mathmpl.py
===================================================================
--- branches/v0_98_5_maint/doc/sphinxext/mathmpl.py     2009-02-15 00:12:19 UTC 
(rev 6914)
+++ branches/v0_98_5_maint/doc/sphinxext/mathmpl.py     2009-02-16 14:12:13 UTC 
(rev 6915)
@@ -1,119 +0,0 @@
-import os
-import sys
-try:
-    from hashlib import md5
-except ImportError:
-    from md5 import md5
-
-from docutils import nodes
-from docutils.parsers.rst import directives
-import warnings
-
-from matplotlib import rcParams
-from matplotlib.mathtext import MathTextParser
-rcParams['mathtext.fontset'] = 'cm'
-mathtext_parser = MathTextParser("Bitmap")
-
-# Define LaTeX math node:
-class latex_math(nodes.General, nodes.Element):
-    pass
-
-def fontset_choice(arg):
-    return directives.choice(arg, ['cm', 'stix', 'stixsans'])
-
-options_spec = {'fontset': fontset_choice}
-
-def math_role(role, rawtext, text, lineno, inliner,
-              options={}, content=[]):
-    i = rawtext.find('`')
-    latex = rawtext[i+1:-1]
-    node = latex_math(rawtext)
-    node['latex'] = latex
-    node['fontset'] = options.get('fontset', 'cm')
-    return [node], []
-math_role.options = options_spec
-
-def math_directive(name, arguments, options, content, lineno,
-                   content_offset, block_text, state, state_machine):
-    latex = ''.join(content)
-    node = latex_math(block_text)
-    node['latex'] = latex
-    node['fontset'] = options.get('fontset', 'cm')
-    return [node]
-
-# This uses mathtext to render the expression
-def latex2png(latex, filename, fontset='cm'):
-    latex = "$%s$" % latex
-    orig_fontset = rcParams['mathtext.fontset']
-    rcParams['mathtext.fontset'] = fontset
-    if os.path.exists(filename):
-        depth = mathtext_parser.get_depth(latex, dpi=100)
-    else:
-        try:
-            depth = mathtext_parser.to_png(filename, latex, dpi=100)
-        except:
-            warnings.warn("Could not render math expression %s" % latex,
-                          Warning)
-            depth = 0
-    rcParams['mathtext.fontset'] = orig_fontset
-    sys.stdout.write("#")
-    sys.stdout.flush()
-    return depth
-
-# LaTeX to HTML translation stuff:
-def latex2html(node, source):
-    inline = isinstance(node.parent, nodes.TextElement)
-    latex = node['latex']
-    name = 'math-%s' % md5(latex).hexdigest()[-10:]
-
-    destdir = os.path.join(setup.app.builder.outdir, '_images', 'mathmpl')
-    if not os.path.exists(destdir):
-        os.makedirs(destdir)
-    dest = os.path.join(destdir, '%s.png' % name)
-    path = os.path.join(setup.app.builder.imgpath, 'mathmpl')
-
-    depth = latex2png(latex, dest, node['fontset'])
-
-    if inline:
-        cls = ''
-    else:
-        cls = 'class="center" '
-    if inline and depth != 0:
-        style = 'style="position: relative; bottom: -%dpx"' % (depth + 1)
-    else:
-        style = ''
-
-    return '<img src="%s/%s.png" %s%s/>' % (path, name, cls, style)
-
-def setup(app):
-    setup.app = app
-
-    app.add_node(latex_math)
-    app.add_role('math', math_role)
-
-    # Add visit/depart methods to HTML-Translator:
-    def visit_latex_math_html(self, node):
-        source = self.document.attributes['source']
-        self.body.append(latex2html(node, source))
-    def depart_latex_math_html(self, node):
-        pass
-
-    # Add visit/depart methods to LaTeX-Translator:
-    def visit_latex_math_latex(self, node):
-        inline = isinstance(node.parent, nodes.TextElement)
-        if inline:
-            self.body.append('$%s$' % node['latex'])
-        else:
-            self.body.extend(['\\begin{equation}',
-                              node['latex'],
-                              '\\end{equation}'])
-    def depart_latex_math_latex(self, node):
-        pass
-
-    app.add_node(latex_math, html=(visit_latex_math_html,
-                                   depart_latex_math_html))
-    app.add_node(latex_math, latex=(visit_latex_math_latex,
-                                    depart_latex_math_latex))
-    app.add_role('math', math_role)
-    app.add_directive('math', math_directive,
-                      True, (0, 0, 0), **options_spec)

Deleted: branches/v0_98_5_maint/doc/sphinxext/only_directives.py
===================================================================
--- branches/v0_98_5_maint/doc/sphinxext/only_directives.py     2009-02-15 
00:12:19 UTC (rev 6914)
+++ branches/v0_98_5_maint/doc/sphinxext/only_directives.py     2009-02-16 
14:12:13 UTC (rev 6915)
@@ -1,63 +0,0 @@
-#
-# A pair of directives for inserting content that will only appear in
-# either html or latex.
-#
-
-from docutils.nodes import Body, Element
-from docutils.parsers.rst import directives
-
-class only_base(Body, Element):
-    def dont_traverse(self, *args, **kwargs):
-        return []
-
-class html_only(only_base):
-    pass
-
-class latex_only(only_base):
-    pass
-
-def run(content, node_class, state, content_offset):
-    text = '\n'.join(content)
-    node = node_class(text)
-    state.nested_parse(content, content_offset, node)
-    return [node]
-
-def html_only_directive(name, arguments, options, content, lineno,
-                        content_offset, block_text, state, state_machine):
-    return run(content, html_only, state, content_offset)
-
-def latex_only_directive(name, arguments, options, content, lineno,
-                         content_offset, block_text, state, state_machine):
-    return run(content, latex_only, state, content_offset)
-
-def builder_inited(app):
-    if app.builder.name == 'html':
-        latex_only.traverse = only_base.dont_traverse
-    else:
-        html_only.traverse = only_base.dont_traverse
-
-def setup(app):
-    app.add_directive('htmlonly', html_only_directive, True, (0, 0, 0))
-    app.add_directive('latexonly', latex_only_directive, True, (0, 0, 0))
-    app.add_node(html_only)
-    app.add_node(latex_only)
-
-    # This will *really* never see the light of day As it turns out,
-    # this results in "broken" image nodes since they never get
-    # processed, so best not to do this.
-    # app.connect('builder-inited', builder_inited)
-
-    # Add visit/depart methods to HTML-Translator:
-    def visit_perform(self, node):
-        pass
-    def depart_perform(self, node):
-        pass
-    def visit_ignore(self, node):
-        node.children = []
-    def depart_ignore(self, node):
-        node.children = []
-
-    app.add_node(html_only, html=(visit_perform, depart_perform))
-    app.add_node(html_only, latex=(visit_ignore, depart_ignore))
-    app.add_node(latex_only, latex=(visit_perform, depart_perform))
-    app.add_node(latex_only, html=(visit_ignore, depart_ignore))

Added: branches/v0_98_5_maint/lib/matplotlib/sphinxext/__init__.py
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/sphinxext/__init__.py                 
        (rev 0)
+++ branches/v0_98_5_maint/lib/matplotlib/sphinxext/__init__.py 2009-02-16 
14:12:13 UTC (rev 6915)
@@ -0,0 +1 @@
+

Copied: branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py (from rev 
6843, branches/v0_98_5_maint/doc/sphinxext/mathmpl.py)
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py                  
        (rev 0)
+++ branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py  2009-02-16 
14:12:13 UTC (rev 6915)
@@ -0,0 +1,119 @@
+import os
+import sys
+try:
+    from hashlib import md5
+except ImportError:
+    from md5 import md5
+
+from docutils import nodes
+from docutils.parsers.rst import directives
+import warnings
+
+from matplotlib import rcParams
+from matplotlib.mathtext import MathTextParser
+rcParams['mathtext.fontset'] = 'cm'
+mathtext_parser = MathTextParser("Bitmap")
+
+# Define LaTeX math node:
+class latex_math(nodes.General, nodes.Element):
+    pass
+
+def fontset_choice(arg):
+    return directives.choice(arg, ['cm', 'stix', 'stixsans'])
+
+options_spec = {'fontset': fontset_choice}
+
+def math_role(role, rawtext, text, lineno, inliner,
+              options={}, content=[]):
+    i = rawtext.find('`')
+    latex = rawtext[i+1:-1]
+    node = latex_math(rawtext)
+    node['latex'] = latex
+    node['fontset'] = options.get('fontset', 'cm')
+    return [node], []
+math_role.options = options_spec
+
+def math_directive(name, arguments, options, content, lineno,
+                   content_offset, block_text, state, state_machine):
+    latex = ''.join(content)
+    node = latex_math(block_text)
+    node['latex'] = latex
+    node['fontset'] = options.get('fontset', 'cm')
+    return [node]
+
+# This uses mathtext to render the expression
+def latex2png(latex, filename, fontset='cm'):
+    latex = "$%s$" % latex
+    orig_fontset = rcParams['mathtext.fontset']
+    rcParams['mathtext.fontset'] = fontset
+    if os.path.exists(filename):
+        depth = mathtext_parser.get_depth(latex, dpi=100)
+    else:
+        try:
+            depth = mathtext_parser.to_png(filename, latex, dpi=100)
+        except:
+            warnings.warn("Could not render math expression %s" % latex,
+                          Warning)
+            depth = 0
+    rcParams['mathtext.fontset'] = orig_fontset
+    sys.stdout.write("#")
+    sys.stdout.flush()
+    return depth
+
+# LaTeX to HTML translation stuff:
+def latex2html(node, source):
+    inline = isinstance(node.parent, nodes.TextElement)
+    latex = node['latex']
+    name = 'math-%s' % md5(latex).hexdigest()[-10:]
+
+    destdir = os.path.join(setup.app.builder.outdir, '_images', 'mathmpl')
+    if not os.path.exists(destdir):
+        os.makedirs(destdir)
+    dest = os.path.join(destdir, '%s.png' % name)
+    path = os.path.join(setup.app.builder.imgpath, 'mathmpl')
+
+    depth = latex2png(latex, dest, node['fontset'])
+
+    if inline:
+        cls = ''
+    else:
+        cls = 'class="center" '
+    if inline and depth != 0:
+        style = 'style="position: relative; bottom: -%dpx"' % (depth + 1)
+    else:
+        style = ''
+
+    return '<img src="%s/%s.png" %s%s/>' % (path, name, cls, style)
+
+def setup(app):
+    setup.app = app
+
+    app.add_node(latex_math)
+    app.add_role('math', math_role)
+
+    # Add visit/depart methods to HTML-Translator:
+    def visit_latex_math_html(self, node):
+        source = self.document.attributes['source']
+        self.body.append(latex2html(node, source))
+    def depart_latex_math_html(self, node):
+        pass
+
+    # Add visit/depart methods to LaTeX-Translator:
+    def visit_latex_math_latex(self, node):
+        inline = isinstance(node.parent, nodes.TextElement)
+        if inline:
+            self.body.append('$%s$' % node['latex'])
+        else:
+            self.body.extend(['\\begin{equation}',
+                              node['latex'],
+                              '\\end{equation}'])
+    def depart_latex_math_latex(self, node):
+        pass
+
+    app.add_node(latex_math, html=(visit_latex_math_html,
+                                   depart_latex_math_html))
+    app.add_node(latex_math, latex=(visit_latex_math_latex,
+                                    depart_latex_math_latex))
+    app.add_role('math', math_role)
+    app.add_directive('math', math_directive,
+                      True, (0, 0, 0), **options_spec)


Property changes on: branches/v0_98_5_maint/lib/matplotlib/sphinxext/mathmpl.py
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/v0_91_maint/doc/sphinxext/mathmpl.py:5753-5771

Copied: branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py 
(from rev 6843, branches/v0_98_5_maint/doc/sphinxext/only_directives.py)
===================================================================
--- branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py          
                (rev 0)
+++ branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py  
2009-02-16 14:12:13 UTC (rev 6915)
@@ -0,0 +1,63 @@
+#
+# A pair of directives for inserting content that will only appear in
+# either html or latex.
+#
+
+from docutils.nodes import Body, Element
+from docutils.parsers.rst import directives
+
+class only_base(Body, Element):
+    def dont_traverse(self, *args, **kwargs):
+        return []
+
+class html_only(only_base):
+    pass
+
+class latex_only(only_base):
+    pass
+
+def run(content, node_class, state, content_offset):
+    text = '\n'.join(content)
+    node = node_class(text)
+    state.nested_parse(content, content_offset, node)
+    return [node]
+
+def html_only_directive(name, arguments, options, content, lineno,
+                        content_offset, block_text, state, state_machine):
+    return run(content, html_only, state, content_offset)
+
+def latex_only_directive(name, arguments, options, content, lineno,
+                         content_offset, block_text, state, state_machine):
+    return run(content, latex_only, state, content_offset)
+
+def builder_inited(app):
+    if app.builder.name == 'html':
+        latex_only.traverse = only_base.dont_traverse
+    else:
+        html_only.traverse = only_base.dont_traverse
+
+def setup(app):
+    app.add_directive('htmlonly', html_only_directive, True, (0, 0, 0))
+    app.add_directive('latexonly', latex_only_directive, True, (0, 0, 0))
+    app.add_node(html_only)
+    app.add_node(latex_only)
+
+    # This will *really* never see the light of day As it turns out,
+    # this results in "broken" image nodes since they never get
+    # processed, so best not to do this.
+    # app.connect('builder-inited', builder_inited)
+
+    # Add visit/depart methods to HTML-Translator:
+    def visit_perform(self, node):
+        pass
+    def depart_perform(self, node):
+        pass
+    def visit_ignore(self, node):
+        node.children = []
+    def depart_ignore(self, node):
+        node.children = []
+
+    app.add_node(html_only, html=(visit_perform, depart_perform))
+    app.add_node(html_only, latex=(visit_ignore, depart_ignore))
+    app.add_node(latex_only, latex=(visit_perform, depart_perform))
+    app.add_node(latex_only, html=(visit_ignore, depart_ignore))


Property changes on: 
branches/v0_98_5_maint/lib/matplotlib/sphinxext/only_directives.py
___________________________________________________________________
Added: svn:mergeinfo
   + /branches/v0_91_maint/doc/sphinxext/only_directives.py:5753-5771

Modified: branches/v0_98_5_maint/setup.py
===================================================================
--- branches/v0_98_5_maint/setup.py     2009-02-15 00:12:19 UTC (rev 6914)
+++ branches/v0_98_5_maint/setup.py     2009-02-16 14:12:13 UTC (rev 6915)
@@ -58,7 +58,8 @@
     'matplotlib.numerix.npyma',
     'matplotlib.numerix.linear_algebra',
     'matplotlib.numerix.random_array',
-    'matplotlib.numerix.fft'
+    'matplotlib.numerix.fft',
+    'matplotlib.sphinxext'
     ]
 
 py_modules = ['pylab']


This was sent by the SourceForge.net collaborative development platform, the 
world's largest Open Source development site.

------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
Matplotlib-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to