]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mgr/restful: do not use filter() for list 28291/head
authorKefu Chai <kchai@redhat.com>
Thu, 2 May 2019 15:02:15 +0000 (23:02 +0800)
committerBoris Ranto <branto@redhat.com>
Wed, 29 May 2019 10:23:40 +0000 (12:23 +0200)
unlike python2, python3 returns an iterator instead of a list, so
construct a list using list comprehension directly.

Fixes: https://tracker.ceph.com/issues/38628
Signed-off-by: Kefu Chai <kchai@redhat.com>
(cherry picked from commit 427bca899cb1f9ab041f4a33dfeb97a8edeb8211)

src/pybind/mgr/restful/api/mon.py
src/pybind/mgr/restful/api/request.py

index 341f7037769e8c8efaead30d0e230a9b53f5a143..20d0336059afaef521956434558973b6c4a37730 100644 (file)
@@ -16,15 +16,11 @@ class MonName(RestController):
         """
         Show the information for the monitor name
         """
-        mon = filter(
-            lambda x: x['name'] == self.name,
-            context.instance.get_mons()
-        )
-
+        mon = [x for x in context.instance.get_mons()
+               if x['name'] == self.name]
         if len(mon) != 1:
             response.status = 500
             return {'message': 'Failed to identify the monitor node "{}"'.format(self.name)}
-
         return mon[0]
 
 
index 486c6303f52613ebca96233222f8203ebfcf7564..3c802a429b588d11a1ceab29b572dda74c8d1a02 100644 (file)
@@ -16,17 +16,12 @@ class RequestId(RestController):
         """
         Show the information for the request id
         """
-        request = filter(
-            lambda x: x.id == self.request_id,
-            context.instance.requests
-        )
-
+        request = [x for x in context.instance.requests
+                   if x.id == self.request_id]
         if len(request) != 1:
             response.status = 500
             return {'message': 'Unknown request id "{}"'.format(self.request_id)}
-
-        request = request[0]
-        return request
+        return request[0]
 
 
     @expose(template='json')
@@ -66,15 +61,13 @@ class Request(RestController):
         """
         num_requests = len(context.instance.requests)
 
-        context.instance.requests = filter(
-            lambda x: not x.is_finished(),
-            context.instance.requests
-        )
-
+        context.instance.requests = [x for x in context.instance.requests
+                                     if not x.is_finished()]
+        remaining = len(context.instance.requests)
         # Return the job statistics
         return {
-            'cleaned': num_requests - len(context.instance.requests),
-            'remaining': len(context.instance.requests),
+            'cleaned': num_requests - remaining,
+            'remaining': remaining,
         }