From ae0ad8b55d9d6e7406fd357847c28bcbadc59afd Mon Sep 17 00:00:00 2001 From: Florian Dold Date: Sat, 3 Jun 2017 20:29:13 +0200 Subject: add httpdomain module with some fixes --- exts/httpdomain/autohttp/flask.py | 48 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 exts/httpdomain/autohttp/flask.py (limited to 'exts/httpdomain/autohttp/flask.py') 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, '') + 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) -- cgit v1.2.3