X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=utils%2Ftest%2Ftestapi%2Fopnfv_testapi%2Fresources%2Fresult_handlers.py;h=2bf1792f27fbb91964dca420e4a3d88388c87728;hb=e40b4822ef070b7d5b09d6a93a1052a7dd77f6ad;hp=5eb1b925cb65030259c1d4c8458136c7d0cddcd7;hpb=0ace7a99c9b51e2fd4e2ae864ded2b50de295927;p=releng.git diff --git a/utils/test/testapi/opnfv_testapi/resources/result_handlers.py b/utils/test/testapi/opnfv_testapi/resources/result_handlers.py index 5eb1b925c..2bf1792f2 100644 --- a/utils/test/testapi/opnfv_testapi/resources/result_handlers.py +++ b/utils/test/testapi/opnfv_testapi/resources/result_handlers.py @@ -13,7 +13,7 @@ import json from bson import objectid -from opnfv_testapi.common import config +from opnfv_testapi.common.config import CONF from opnfv_testapi.common import message from opnfv_testapi.common import raises from opnfv_testapi.resources import handlers @@ -21,8 +21,6 @@ from opnfv_testapi.resources import result_models from opnfv_testapi.tornado_swagger import swagger from opnfv_testapi.ui.auth import constants as auth_const -CONF = config.Config() - class GenericResultHandler(handlers.GenericApiHandler): def __init__(self, application, request, **kwargs): @@ -68,7 +66,7 @@ class GenericResultHandler(handlers.GenericApiHandler): del query['public'] if role != "reviewer": query['user'] = openid - elif k != 'last' and k != 'page': + elif k not in ['last', 'page', 'descend']: query[k] = v if date_range: query['start_date'] = date_range @@ -169,18 +167,27 @@ class ResultsCLHandler(GenericResultHandler): @type signed: L{string} @in signed: query @required signed: False + @param descend: true, newest2oldest; false, oldest2newest + @type descend: L{string} + @in descend: query + @required descend: False """ - limitations = {'sort': {'_id': -1}} - last = self.get_query_argument('last', 0) - if last is not None: - last = self.get_int('last', last) - limitations.update({'last': last}) + def descend_limit(): + descend = self.get_query_argument('descend', 'true') + return -1 if descend.lower() == 'true' else 1 + + def last_limit(): + return self.get_int('last', self.get_query_argument('last', 0)) + + def page_limit(): + return self.get_int('page', self.get_query_argument('page', 0)) - page = self.get_query_argument('page', None) - if page is not None: - page = self.get_int('page', page) - limitations.update({'page': page, - 'per_page': CONF.api_results_per_page}) + limitations = { + 'sort': {'_id': descend_limit()}, + 'last': last_limit(), + 'page': page_limit(), + 'per_page': CONF.api_results_per_page + } self._list(query=self.set_query(), **limitations)