1234567891011121314151617181920212223242526272829303132333435363738 |
- # -*- coding: utf-8 -*-
- from __future__ import unicode_literals
- from flask import url_for, Blueprint, render_template
- class Apidoc(Blueprint):
- """
- Allow to know if the blueprint has already been registered
- until https://github.com/mitsuhiko/flask/pull/1301 is merged
- """
- def __init__(self, *args, **kwargs):
- self.registered = False
- super(Apidoc, self).__init__(*args, **kwargs)
- def register(self, *args, **kwargs):
- super(Apidoc, self).register(*args, **kwargs)
- self.registered = True
- apidoc = Apidoc(
- "restx_doc",
- __name__,
- template_folder="templates",
- static_folder="static",
- static_url_path="/swaggerui",
- )
- @apidoc.add_app_template_global
- def swagger_static(filename):
- return url_for("restx_doc.static", filename=filename)
- def ui_for(api):
- """Render a SwaggerUI for a given API"""
- return render_template("swagger-ui.html", title=api.title, specs_url=api.specs_url)
|