# which accompanies this distribution, and is available at
# http://www.apache.org/licenses/LICENSE-2.0
##############################################################################
-import inspect
-from functools import wraps
from HTMLParser import HTMLParser
+from functools import wraps
+import inspect
import epydoc.markup
import tornado.web
-from settings import default_settings, models
-from handlers import swagger_handlers
+from opnfv_testapi.tornado_swagger import handlers
+from opnfv_testapi.tornado_swagger import settings
class EpytextParser(HTMLParser):
def _parse_type(self, **kwargs):
arg = kwargs.get('arg', None)
- body = self._get_body(**kwargs)
- self.params.setdefault(arg, {}).update({
- 'name': arg,
- 'dataType': body
- })
+ code = self._parse_epytext_para('code', **kwargs)
+ link = self._parse_epytext_para('link', **kwargs)
+ if code is None:
+ self.params.setdefault(arg, {}).update({
+ 'name': arg,
+ 'type': link
+ })
+ elif code == 'list':
+ self.params.setdefault(arg, {}).update({
+ 'type': 'array',
+ 'items': {'type': link}
+ })
def _parse_in(self, **kwargs):
arg = kwargs.get('arg', None)
if '__init__' in dir(cls):
self._parse_args(cls.__init__)
self.parse_docstring(inspect.getdoc(cls))
- models.append(self)
+ settings.models.append(self)
def _parse_args(self, func):
argspec = inspect.getargspec(func)
def docs(**opts):
- default_settings.update(opts)
+ settings.docs_settings.update(opts)
class Application(tornado.web.Application):
- def __init__(self, handlers=None,
+ def __init__(self, app_handlers=None,
default_host="",
transforms=None,
**settings):
- super(Application, self).__init__(swagger_handlers() + handlers,
- default_host,
- transforms,
- **settings)
+ super(Application, self).__init__(
+ handlers.swagger_handlers() + app_handlers,
+ default_host,
+ transforms,
+ **settings)