+class ItemQueryHandler(GenericApiHandler):
+ @swagger.operation(nickname='query')
+ def get(self):
+ """
+ @param property1:
+ @type property1: L{string}
+ @in property1: query
+ @required property1: False
+
+ @param property2:
+ @type property2: L{string}
+ @in property2: query
+ @required property2: True
+ @rtype: L{Item}
+ @notes: GET /item?property1=1&property2=1
+ """
+ property1 = self.get_query_argument("property1", None)
+ property2 = self.get_query_argument("property2", None)
+
+ res = []
+ if property1 is None:
+ for key, value in items.iteritems():
+ if property2 is None:
+ res.append(value.format_http())
+ elif value.property2 == property2:
+ res.append(value.format_http())
+ elif items.has_key(property1):
+ if items.get(property1).property2 == property2:
+ res.append(items.get(property1).format_http())
+
+ self.finish_request(res)
+
+