8bcb9668f5de2840160733fad26d6897f6ec7b0f
[releng.git] / utils / test / result_collection_api / opnfv_testapi / tornado_swagger / handlers.py
1 #!/usr/bin/python
2 # -*- coding: utf-8 -*-
3 from tornado.web import URLSpec, StaticFileHandler
4
5 from settings import default_settings, \
6     SWAGGER_API_DOCS, SWAGGER_API_LIST, SWAGGER_API_SPEC
7 from views import SwaggerUIHandler, SwaggerResourcesHandler, SwaggerApiHandler
8
9 __author__ = 'serena'
10
11
12 def swagger_handlers():
13     prefix = default_settings.get('swagger_prefix', '/swagger')
14     if prefix[-1] != '/':
15         prefix += '/'
16
17     def _path(suffix):
18         return prefix + suffix
19     return [
20         URLSpec(
21             _path(r'spec.html$'),
22             SwaggerUIHandler,
23             default_settings,
24             name=SWAGGER_API_DOCS),
25         URLSpec(
26             _path(r'spec.json$'),
27             SwaggerResourcesHandler,
28             default_settings,
29             name=SWAGGER_API_LIST),
30         URLSpec(
31             _path(r'spec$'),
32             SwaggerApiHandler,
33             default_settings,
34             name=SWAGGER_API_SPEC),
35         (
36             _path(r'(.*\.(css|png|gif|js))'),
37             StaticFileHandler,
38             {'path': default_settings.get('static_path')}),
39     ]