diff options
Diffstat (limited to 'api/views.py')
-rw-r--r-- | api/views.py | 35 |
1 files changed, 24 insertions, 11 deletions
diff --git a/api/views.py b/api/views.py index 883091222..e78389f5a 100644 --- a/api/views.py +++ b/api/views.py @@ -1,4 +1,11 @@ -import json +############################################################################## +# Copyright (c) 2016 Huawei Technologies Co.,Ltd and others. +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 +############################################################################## import logging from flask import request @@ -6,7 +13,7 @@ from flask_restful import Resource from api.utils import common as common_utils from api.actions import test as test_action -from api import conf +from api.actions import result as result_action logger = logging.getLogger(__name__) @@ -17,13 +24,19 @@ class Test(Resource): args = common_utils.translate_to_str(request.json.get('args', {})) logger.debug('Input args is: action: %s, args: %s', action, args) - if action not in conf.TEST_ACTION: - logger.error('Wrong action') - result = { - 'status': 'error', - 'message': 'wrong action' - } - return json.dumps(result) + try: + return getattr(test_action, action)(args) + except AttributeError: + return common_utils.error_handler('Wrong action') - method = getattr(test_action, action) - return method(args) + +class Result(Resource): + def get(self): + args = common_utils.translate_to_str(request.args) + action = args.get('action', '') + logger.debug('Input args is: action: %s, args: %s', action, args) + + try: + return getattr(result_action, action)(args) + except AttributeError: + return common_utils.error_handler('Wrong action') |