summaryrefslogtreecommitdiff
path: root/exts/httpdomain/autohttp/flask.py
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2017-06-03 20:29:13 +0200
committerFlorian Dold <florian.dold@gmail.com>2017-06-03 20:29:13 +0200
commitae0ad8b55d9d6e7406fd357847c28bcbadc59afd (patch)
treeea1b1ff30963b5fa8d097e72009d8ce063210af7 /exts/httpdomain/autohttp/flask.py
parent37d9272d86a699fbe63b7a2e16549925dea57bd5 (diff)
downloaddocs-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.py48
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)