add querying pods by name(part & case insentitive) 33/48433/2
authorSerenaFeng <feng.xiaowei@zte.com.cn>
Wed, 6 Dec 2017 01:00:41 +0000 (09:00 +0800)
committerSerenaFeng <feng.xiaowei@zte.com.cn>
Wed, 6 Dec 2017 01:02:42 +0000 (09:02 +0800)
Change-Id: Ie7f14588864c79d6ed87adec3e6901dfbabbb1a6
Signed-off-by: SerenaFeng <feng.xiaowei@zte.com.cn>
testapi/opnfv_testapi/handlers/pod_handlers.py

index 9e52ca0..06a8b17 100644 (file)
@@ -6,6 +6,8 @@
 # which accompanies this distribution, and is available at
 # http://www.apache.org/licenses/LICENSE-2.0
 ##############################################################################
+import re
+
 from opnfv_testapi.handlers import base_handlers
 from opnfv_testapi.models import pod_models
 from opnfv_testapi.tornado_swagger import swagger
@@ -17,6 +19,14 @@ class GenericPodHandler(base_handlers.GenericApiHandler):
         self.table = 'pods'
         self.table_cls = pod_models.Pod
 
+    def set_query(self):
+        query = dict()
+        for k in self.request.query_arguments.keys():
+            v = self.get_query_argument(k)
+            if k == 'name':
+                query['name'] = re.compile(v, re.IGNORECASE)
+        return query
+
 
 class PodCLHandler(GenericPodHandler):
     @swagger.operation(nickname='listAllPods')
@@ -25,8 +35,12 @@ class PodCLHandler(GenericPodHandler):
             @description: list all pods
             @return 200: list all pods, empty list is no pod exist
             @rtype: L{Pods}
+            @param name: pod name
+            @type name: L{string}
+            @in name: query
+            @required name: False
         """
-        self._list()
+        self._list(query=self.set_query())
 
     @swagger.operation(nickname='createPod')
     def post(self):