]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/dashboard: restcontroller: removed @args_from_json 21516/head
authorRicardo Dias <rdias@suse.com>
Thu, 19 Apr 2018 09:15:27 +0000 (10:15 +0100)
committerRicardo Dias <rdias@suse.com>
Thu, 19 Apr 2018 09:15:27 +0000 (10:15 +0100)
Signed-off-by: Ricardo Dias <rdias@suse.com>
src/pybind/mgr/dashboard/.pylintrc
src/pybind/mgr/dashboard/controllers/__init__.py
src/pybind/mgr/dashboard/controllers/auth.py
src/pybind/mgr/dashboard/controllers/cephfs.py
src/pybind/mgr/dashboard/controllers/erasure_code_profile.py
src/pybind/mgr/dashboard/controllers/pool.py
src/pybind/mgr/dashboard/controllers/rbd.py
src/pybind/mgr/dashboard/controllers/tcmu_iscsi.py
src/pybind/mgr/dashboard/tests/test_rest_tasks.py
src/pybind/mgr/dashboard/tests/test_tools.py

index 13e23167f608845bf55d04e9eda5739dad955cd7..96f88facc3fd704f3bc8f615c490d25ddef3b4a8 100644 (file)
@@ -132,7 +132,9 @@ disable=print-statement,
         no-self-use,
         too-few-public-methods,
         no-member,
-        fixme
+        fixme,
+        too-many-arguments,
+        too-many-locals
 
 # Enable the message, report, category or checker with the given id(s). You can
 # either give multiple identifier separated by comma (,) or put this option
index 67c489f0443c01febc31c077fecfbbb65b3c1c01..b79b5d0f03869b875a0a954c0e1f8eaf4991aa7e 100644 (file)
@@ -154,7 +154,6 @@ class ApiRoot(object):
         return tpl.format(lis='\n'.join(endpoints))
 
 
-# pylint: disable=too-many-locals
 def browsable_api_view(meth):
     def wrapper(self, *vpath, **kwargs):
         assert isinstance(self, BaseController)
@@ -520,11 +519,6 @@ class RESTController(BaseController):
 
         return method(*vpath, **params)
 
-    @staticmethod
-    def args_from_json(func):
-        func._args_from_json_ = True
-        return func
-
     @staticmethod
     def _function_args(func):
         if sys.version_info > (3, 0):  # pylint: disable=no-else-return
@@ -538,10 +532,7 @@ class RESTController(BaseController):
         def inner(*args, **kwargs):
             if cherrypy.request.headers.get('Content-Type',
                                             '') == 'application/x-www-form-urlencoded':
-                if hasattr(func, '_args_from_json_'):  # pylint: disable=no-else-return
-                    return func(*args, **kwargs)
-                else:
-                    return func(kwargs)
+                return func(*args, **kwargs)
 
             content_length = int(cherrypy.request.headers['Content-Length'])
             body = cherrypy.request.body.read(content_length)
@@ -553,11 +544,8 @@ class RESTController(BaseController):
             except Exception as e:
                 raise cherrypy.HTTPError(400, 'Failed to decode JSON: {}'
                                          .format(str(e)))
-            if hasattr(func, '_args_from_json_'):
-                kwargs.update(data.items())
-                return func(*args, **kwargs)
 
-            kwargs['data'] = data
+            kwargs.update(data.items())
             return func(*args, **kwargs)
         return inner
 
index cd9d9237dd6850ad50adff0fc61188d11fe8725c..4f37a133036e072fcfe0f8d275d06cdc4836b39a 100644 (file)
@@ -26,7 +26,6 @@ class Auth(RESTController):
       |                           | seconds without activity                  |
     """
 
-    @RESTController.args_from_json
     def create(self, username, password, stay_signed_in=False):
         now = time.time()
         config_username = mgr.get_config('username', None)
index ddb41cd10bbd3a5293aa2ec33c9473413947d0d3..5ef8066262460b9bf3322c456004402874b80287 100644 (file)
@@ -97,7 +97,7 @@ class CephFS(BaseController):
 
         return names
 
-    # pylint: disable=too-many-locals,too-many-statements,too-many-branches
+    # pylint: disable=too-many-statements,too-many-branches
     def fs_status(self, fs_id):
         mds_versions = defaultdict(list)
 
index a6602ebea0088f5eae7dc3036a44730651b5ff86..16929081d6d372706ecef39e1fbf728ac600fef1 100644 (file)
@@ -36,8 +36,6 @@ class ErasureCodeProfile(RESTController):
         except KeyError:
             raise NotFound('No such erasure code profile')
 
-    # pylint: disable=too-many-arguments
-    @RESTController.args_from_json
     def create(self, name, k, m, plugin=None, ruleset_failure_domain=None, **kwargs):
         kwargs['k'] = k
         kwargs['m'] = m
index 6a8f605d02c08d60c6bd48567d90f4e168c28177..d842be6bbfb642fc3475904ca6f309ac0cd29205 100644 (file)
@@ -59,8 +59,6 @@ class Pool(RESTController):
         return CephService.send_command('mon', 'osd pool delete', pool=pool_name, pool2=pool_name,
                                         sure='--yes-i-really-really-mean-it')
 
-    # pylint: disable=too-many-arguments, too-many-locals
-    @RESTController.args_from_json
     def create(self, pool, pg_num, pool_type, erasure_code_profile=None, flags=None,
                application_metadata=None, rule_name=None, **kwargs):
         ecp = erasure_code_profile if erasure_code_profile else None
index aa748f51df23691925fa69c3ec43284d8df96ec6..a67827e79434d8cf33e56b3d3fd99139faa2561d 100644 (file)
@@ -1,5 +1,5 @@
 # -*- coding: utf-8 -*-
-# pylint: disable=too-many-arguments,too-many-locals,unused-argument,
+# pylint: disable=unused-argument
 # pylint: disable=too-many-statements,too-many-branches
 from __future__ import absolute_import
 
@@ -267,7 +267,6 @@ class Rbd(RESTController):
 
     @RbdTask('create',
              {'pool_name': '{pool_name}', 'image_name': '{name}'}, 2.0)
-    @RESTController.args_from_json
     def create(self, name, pool_name, size, obj_size=None, features=None,
                stripe_unit=None, stripe_count=None, data_pool=None):
 
@@ -294,7 +293,6 @@ class Rbd(RESTController):
         return _rbd_call(pool_name, rbd_inst.remove, image_name)
 
     @RbdTask('edit', ['{pool_name}', '{image_name}'], 4.0)
-    @RESTController.args_from_json
     def set(self, pool_name, image_name, name=None, size=None, features=None):
         def _edit(ioctx, image):
             rbd_inst = rbd.RBD()
@@ -330,7 +328,6 @@ class Rbd(RESTController):
               'dest_pool_name': '{dest_pool_name}',
               'dest_image_name': '{dest_image_name}'}, 2.0)
     @RESTController.resource(['POST'])
-    @RESTController.args_from_json
     def copy(self, pool_name, image_name, dest_pool_name, dest_image_name,
              obj_size=None, features=None, stripe_unit=None,
              stripe_count=None, data_pool=None):
@@ -360,7 +357,6 @@ class RbdSnapshot(RESTController):
 
     @RbdTask('snap/create',
              ['{pool_name}', '{image_name}', '{snapshot_name}'], 2.0)
-    @RESTController.args_from_json
     def create(self, pool_name, image_name, snapshot_name):
         def _create_snapshot(ioctx, img, snapshot_name):
             img.create_snap(snapshot_name)
@@ -379,7 +375,6 @@ class RbdSnapshot(RESTController):
 
     @RbdTask('snap/edit',
              ['{pool_name}', '{image_name}', '{snapshot_name}'], 4.0)
-    @RESTController.args_from_json
     def set(self, pool_name, image_name, snapshot_name, new_snap_name=None,
             is_protected=None):
         def _edit(ioctx, img, snapshot_name):
@@ -410,7 +405,6 @@ class RbdSnapshot(RESTController):
               'child_pool_name': '{child_pool_name}',
               'child_image_name': '{child_image_name}'}, 2.0)
     @RESTController.resource(['POST'])
-    @RESTController.args_from_json
     def clone(self, pool_name, image_name, snapshot_name, child_pool_name,
               child_image_name, obj_size=None, features=None,
               stripe_unit=None, stripe_count=None, data_pool=None):
index 098e4b0d7c49e88f81ba7978f1242088589889d3..942f1c60c70b0d4d646d2b91b3d54d9dacd98aa0 100644 (file)
@@ -11,7 +11,7 @@ SERVICE_TYPE = 'tcmu-runner'
 @ApiController('tcmuiscsi')
 @AuthRequired()
 class TcmuIscsi(RESTController):
-    # pylint: disable=too-many-locals,too-many-nested-blocks
+    # pylint: disable=too-many-nested-blocks
     def list(self):  # pylint: disable=unused-argument
         daemons = {}
         images = {}
index 6f8f500f016e0c4fe28dc77ea11ea688ad415a6d..e5c8b068a60538ff503bea1f34fd1560a332b00c 100644 (file)
@@ -14,32 +14,27 @@ class TaskTest(RESTController):
     sleep_time = 0.0
 
     @Task('task/create', {'param': '{param}'}, wait_for=1.0)
-    @RESTController.args_from_json
     def create(self, param):
         time.sleep(TaskTest.sleep_time)
         return {'my_param': param}
 
     @Task('task/set', {'param': '{2}'}, wait_for=1.0)
-    @RESTController.args_from_json
     def set(self, key, param=None):
         time.sleep(TaskTest.sleep_time)
         return {'key': key, 'my_param': param}
 
     @Task('task/delete', ['{key}'], wait_for=1.0)
-    @RESTController.args_from_json
     def delete(self, key):
         # pylint: disable=unused-argument
         time.sleep(TaskTest.sleep_time)
 
     @Task('task/foo', ['{param}'])
     @RESTController.collection(['POST'])
-    @RESTController.args_from_json
     def foo(self, param):
         return {'my_param': param}
 
     @Task('task/bar', ['{key}', '{param}'])
     @RESTController.resource(['PUT'])
-    @RESTController.args_from_json
     def bar(self, key, param=None):
         return {'my_param': param, 'key': key}
 
index 4ec6ce943fb8855df749e2f30175d74b5fb4fb0c..e89f4697fc47671e3d3c06aac88d33ee54042e8b 100644 (file)
@@ -19,9 +19,9 @@ class FooResource(RESTController):
     def list(self):
         return FooResource.elems
 
-    def create(self, data):
-        FooResource.elems.append(data)
-        return data
+    def create(self, a):
+        FooResource.elems.append({'a': a})
+        return {'a': a}
 
     def get(self, key):
         return {'detail': (key, [])}
@@ -32,9 +32,9 @@ class FooResource(RESTController):
     def bulk_delete(self):
         FooResource.elems = []
 
-    def set(self, key, data):
-        FooResource.elems[int(key)] = data
-        return dict(key=key, **data)
+    def set(self, key, newdata):
+        FooResource.elems[int(key)] = {'newdata': newdata}
+        return dict(key=key, newdata=newdata)
 
 
 @ApiController('foo/:key/:method')
@@ -45,7 +45,6 @@ class FooResourceDetail(RESTController):
 
 @ApiController('fooargs')
 class FooArgs(RESTController):
-    @RESTController.args_from_json
     def set(self, code, name=None, opt1=None, opt2=None):
         return {'code': code, 'name': name, 'opt1': opt1, 'opt2': opt2}