diff options
author | chenjiankun <chenjiankun1@huawei.com> | 2017-07-07 03:13:36 +0000 |
---|---|---|
committer | chenjiankun <chenjiankun1@huawei.com> | 2017-07-11 09:47:30 +0000 |
commit | 0d18f9d3299480cb43e6b335180e5cbdb58505c3 (patch) | |
tree | a35aa6373a88eddb3d13f4fdb7cd3db9bad1a4ee /api/base.py | |
parent | 41136dafb30d0c410e92f9f7a7c19eae60f224e2 (diff) |
Yardstick API architecture improvement
JIRA: YARDSTICK-710
Since we have the plan to upload api v2 and gui.
We need to add put and delete method.
So the architecture need to be improved.
Change-Id: Ie20a79c26ef6c581897ce4e63980fa2895b162d2
Signed-off-by: chenjiankun <chenjiankun1@huawei.com>
Diffstat (limited to 'api/base.py')
-rw-r--r-- | api/base.py | 65 |
1 files changed, 0 insertions, 65 deletions
diff --git a/api/base.py b/api/base.py deleted file mode 100644 index 0f1e76a57..000000000 --- a/api/base.py +++ /dev/null @@ -1,65 +0,0 @@ -############################################################################## -# 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 -############################################################################## -from __future__ import absolute_import -import re -import importlib -import logging - -from flask import request -from flask_restful import Resource - -from api.utils import common as common_utils -from yardstick.common import constants as consts - -logger = logging.getLogger(__name__) -logger.setLevel(logging.DEBUG) - - -class ApiResource(Resource): - - def _post_args(self): - data = request.json if request.json else {} - params = common_utils.translate_to_str(data) - action = params.get('action', request.form.get('action', '')) - args = params.get('args', {}) - - try: - args['file'] = request.files['file'] - except KeyError: - pass - - logger.debug('Input args is: action: %s, args: %s', action, args) - - return action, args - - def _get_args(self): - args = common_utils.translate_to_str(request.args) - logger.debug('Input args is: args: %s', args) - - return args - - def _dispatch_post(self): - action, args = self._post_args() - return self._dispatch(args, action) - - def _dispatch_get(self, **kwargs): - args = self._get_args() - args.update(kwargs) - return self._dispatch(args) - - def _dispatch(self, args, action='default'): - module_name = re.sub(r'([A-Z][a-z]*)', r'_\1', - self.__class__.__name__)[1:].lower() - - module_name = 'api.resources.%s' % module_name - resources = importlib.import_module(module_name) - try: - return getattr(resources, action)(args) - except AttributeError: - common_utils.result_handler(consts.API_ERROR, 'No such action') |