summaryrefslogtreecommitdiff
path: root/_exts/httpdomain/autohttp/flask.py
diff options
context:
space:
mode:
authorFlorian Dold <florian.dold@gmail.com>2019-08-29 11:44:18 +0200
committerFlorian Dold <florian.dold@gmail.com>2019-08-29 11:44:18 +0200
commitc3a6698c48f315e124bfd89bbb98564966f89434 (patch)
tree4687fbdec2523a6070108c83a0a463d76aff50f0 /_exts/httpdomain/autohttp/flask.py
parent34d79e45dcce1ba2d4dfbe0099187b2518be9ad1 (diff)
downloaddocs-c3a6698c48f315e124bfd89bbb98564966f89434.tar.gz
docs-c3a6698c48f315e124bfd89bbb98564966f89434.tar.bz2
docs-c3a6698c48f315e124bfd89bbb98564966f89434.zip
structure
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)