buildframework/helium/external/python/lib/2.5/Sphinx-0.5.1-py2.5.egg/sphinx/ext/todo.py
changeset 179 d8ac696cc51f
parent 1 be27ed110b50
child 180 e02a83d4c571
child 592 3215c239276a
--- a/buildframework/helium/external/python/lib/2.5/Sphinx-0.5.1-py2.5.egg/sphinx/ext/todo.py	Wed Oct 28 14:39:48 2009 +0000
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,123 +0,0 @@
-# -*- coding: utf-8 -*-
-"""
-    sphinx.ext.todo
-    ~~~~~~~~~~~~~~~
-
-    Allow todos to be inserted into your documentation.  Inclusion of todos can
-    be switched of by a configuration variable.  The todolist directive collects
-    all todos of your project and lists them along with a backlink to the
-    original location.
-
-    :copyright: 2008 Daniel Bültmann.
-    :license: BSD.
-"""
-
-from docutils import nodes
-
-from sphinx.util.compat import make_admonition
-
-class todo_node(nodes.Admonition, nodes.Element): pass
-class todolist(nodes.General, nodes.Element): pass
-
-
-def todo_directive(name, arguments, options, content, lineno,
-                   content_offset, block_text, state, state_machine):
-    env = state.document.settings.env
-
-    targetid = "todo-%s" % env.index_num
-    env.index_num += 1
-    targetnode = nodes.target('', '', ids=[targetid])
-
-    ad = make_admonition(todo_node, name, [_('Todo')], options, content, lineno,
-                         content_offset, block_text, state, state_machine)
-
-    # Attach a list of all todos to the environment,
-    # the todolist works with the collected todo nodes
-    if not hasattr(env, 'todo_all_todos'):
-        env.todo_all_todos = []
-    env.todo_all_todos.append({
-        'docname': env.docname,
-        'lineno': lineno,
-        'todo': ad[0].deepcopy(),
-        'target': targetnode,
-    })
-
-    return [targetnode] + ad
-
-
-def todolist_directive(name, arguments, options, content, lineno,
-                       content_offset, block_text, state, state_machine):
-    # Simply insert an empty todolist node which will be replaced later
-    # when process_todo_nodes is called
-    return [todolist('')]
-
-
-def process_todo_nodes(app, doctree, fromdocname):
-    if not app.config['todo_include_todos']:
-        for node in doctree.traverse(todo_node):
-            node.parent.remove(node)
-
-    # Replace all todolist nodes with a list of the collected todos.
-    # Augment each todo with a backlink to the original location.
-    env = app.builder.env
-
-    for node in doctree.traverse(todolist):
-        if not app.config['todo_include_todos']:
-            node.replace_self([])
-            continue
-
-        content = []
-
-        for todo_info in env.todo_all_todos:
-            para = nodes.paragraph()
-            filename = env.doc2path(todo_info['docname'], base=None)
-            description = (
-                _('(The original entry is located in %s, line %d and can be found ') %
-                (filename, todo_info['lineno']))
-            para += nodes.Text(description, description)
-
-            # Create a reference
-            newnode = nodes.reference('', '')
-            innernode = nodes.emphasis(_('here'), _('here'))
-            newnode['refdocname'] = todo_info['docname']
-            newnode['refuri'] = app.builder.get_relative_uri(
-                fromdocname, todo_info['docname'])
-            newnode['refuri'] += '#' + todo_info['target']['refid']
-            newnode.append(innernode)
-            para += newnode
-            para += nodes.Text('.)', '.)')
-
-            # Insert into the todolist
-            content.append(todo_info['todo'])
-            content.append(para)
-
-        node.replace_self(content)
-
-
-def purge_todos(app, env, docname):
-    if not hasattr(env, 'todo_all_todos'):
-        return
-    env.todo_all_todos = [todo for todo in env.todo_all_todos
-                          if todo['docname'] != docname]
-
-
-def visit_todo_node(self, node):
-    self.visit_admonition(node)
-
-def depart_todo_node(self, node):
-    self.depart_admonition(node)
-
-def setup(app):
-    app.add_config_value('todo_include_todos', False, False)
-
-    app.add_node(todolist)
-    app.add_node(todo_node,
-                 html=(visit_todo_node, depart_todo_node),
-                 latex=(visit_todo_node, depart_todo_node),
-                 text=(visit_todo_node, depart_todo_node))
-
-    app.add_directive('todo', todo_directive, 1, (0, 0, 1))
-    app.add_directive('todolist', todolist_directive, 0, (0, 0, 0))
-    app.connect('doctree-resolved', process_todo_nodes)
-    app.connect('env-purge-doc', purge_todos)
-