aboutsummaryrefslogtreecommitdiffstats
path: root/opnfv_testapi/resources/handlers.py
diff options
context:
space:
mode:
Diffstat (limited to 'opnfv_testapi/resources/handlers.py')
-rw-r--r--opnfv_testapi/resources/handlers.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/opnfv_testapi/resources/handlers.py b/opnfv_testapi/resources/handlers.py
index e8c81f3..559e689 100644
--- a/opnfv_testapi/resources/handlers.py
+++ b/opnfv_testapi/resources/handlers.py
@@ -41,6 +41,7 @@ DEFAULT_REPRESENTATION = "application/json"
class GenericApiHandler(web.RequestHandler):
def __init__(self, application, request, **kwargs):
+ self.is_onap = False
super(GenericApiHandler, self).__init__(application, request, **kwargs)
self.json_args = None
self.table = None
@@ -52,6 +53,9 @@ class GenericApiHandler(web.RequestHandler):
self.db_scenarios = 'scenarios'
self.auth = self.settings["auth"]
+ def initialize(self, is_onap=False):
+ self.is_onap = is_onap
+
def get_int(self, key, value):
try:
value = int(value)
@@ -97,6 +101,11 @@ class GenericApiHandler(web.RequestHandler):
if role.find("reviewer") != -1:
query['$or'].append({"status": {"$ne": "private"}})
+ elif k == 'status':
+ if v.startswith('{'):
+ query[k] = json.loads(v)
+ else:
+ query[k] = v
elif k not in ['last', 'page', 'descend', 'per_page']:
query[k] = v
if date_range:
@@ -107,6 +116,8 @@ class GenericApiHandler(web.RequestHandler):
if 'start_date' in query and '$lt' not in query['start_date']:
query['start_date'].update({'$lt': str(datetime.now())})
+ query['is_onap'] = 'true' if self.is_onap else None
+
logging.debug("query:%s", query)
raise gen.Return((query))
@@ -184,7 +195,7 @@ class GenericApiHandler(web.RequestHandler):
if query and table:
data = yield dbapi.db_find_one(table, query)
if data:
- raise gen.Return((True, 'Data alreay exists. %s' % (query)))
+ raise gen.Return((True, 'Data already exists. %s' % (query)))
raise gen.Return((False, 'Data does not exist. %s' % (query)))
# @web.asynchronous
@@ -214,7 +225,7 @@ class GenericApiHandler(web.RequestHandler):
if res_op is None:
res = {self.table: data}
else:
- res = res_op(data, *args)
+ res = yield res_op(data, *args)
if page > 0:
res.update({
'pagination': {