diff options
author | Florian Dold <florian.dold@gmail.com> | 2017-06-03 20:29:13 +0200 |
---|---|---|
committer | Florian Dold <florian.dold@gmail.com> | 2017-06-03 20:29:13 +0200 |
commit | ae0ad8b55d9d6e7406fd357847c28bcbadc59afd (patch) | |
tree | ea1b1ff30963b5fa8d097e72009d8ce063210af7 /exts/httpdomain/autohttp/flask.py | |
parent | 37d9272d86a699fbe63b7a2e16549925dea57bd5 (diff) | |
download | docs-ae0ad8b55d9d6e7406fd357847c28bcbadc59afd.tar.gz docs-ae0ad8b55d9d6e7406fd357847c28bcbadc59afd.tar.bz2 docs-ae0ad8b55d9d6e7406fd357847c28bcbadc59afd.zip |
add httpdomain module with some fixes
Diffstat (limited to 'exts/httpdomain/autohttp/flask.py')
-rw-r--r-- | exts/httpdomain/autohttp/flask.py | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/exts/httpdomain/autohttp/flask.py b/exts/httpdomain/autohttp/flask.py new file mode 100644 index 00000000..4bd5232e --- /dev/null +++ b/exts/httpdomain/autohttp/flask.py @@ -0,0 +1,48 @@ +""" + sphinxcontrib.autohttp.flask + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + + The sphinx.ext.autodoc-style HTTP API reference builder (from Flask) + for sphinxcontrib.httpdomain. + + :copyright: Copyright 2011 by Hong Minhee + :license: BSD, see LICENSE for details. + +""" +from __future__ import absolute_import + +import re +import itertools +import six + +from docutils import nodes +from docutils.parsers.rst import directives +from docutils.statemachine import ViewList + +from sphinx.util import force_decode +from sphinx.util.compat import Directive +from sphinx.util.nodes import nested_parse_with_titles +from sphinx.util.docstrings import prepare_docstring +from sphinx.pycode import ModuleAnalyzer + +from sphinxcontrib import httpdomain +from sphinxcontrib.autohttp.common import http_directive, import_object + +from .flask_base import AutoflaskBase + +class AutoflaskDirective(AutoflaskBase): + + def run(self): + node = nodes.section() + node.document = self.state.document + result = ViewList() + for line in self.make_rst(): + result.append(line, '<autoflask>') + nested_parse_with_titles(self.state, result, node) + return node.children + + +def setup(app): + if 'http' not in app.domains: + httpdomain.setup(app) + app.add_directive('autoflask', AutoflaskDirective) |