X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Ftest%2Ftestapi%2Fopnfv_testapi%2Ftornado_swagger%2Fswagger.py;h=6125c95540310108b5b6cbb0a816706332b584ca;hb=0c7a6ba0036a26a0d6beb5cc402df050c13ebb69;hp=3d21edefb053bb0d5587954143e7a3c01144b50d;hpb=a26858a97ee50374b406cdbaadad1284ae4b6185;p=releng.git diff --git a/utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py b/utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py index 3d21edefb..6125c9554 100644 --- a/utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py +++ b/utils/test/testapi/opnfv_testapi/tornado_swagger/swagger.py @@ -6,15 +6,15 @@ # 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): @@ -94,11 +94,18 @@ class DocParser(object): 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) @@ -204,7 +211,7 @@ class model(DocParser): 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) @@ -276,15 +283,16 @@ class operation(DocParser): 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)