def get(self): coll = IosCollection('meta') kwargs = dict() for key in self.request.arguments: kwargs[key] = self.get_argument(key) if 'type' in kwargs: show_type = kwargs['type'] else: show_type = "dogfood" pipeline = [{"$match": {"type": show_type}}, {"$sort": {"timestamp": -1}}, {"$group": {"_id": "$bundleID", "app_info": {"$first": "$$ROOT"}}}, ] ori_apps = list(coll.aggregate(pipeline)) apps = recomposeAppInfo(ori_apps, u"i") self.write(JSONEncoder().encode(apps))
def get(self, pkg_name): coll = AndroidCollection('meta') kwargs = dict() for key in self.request.arguments: kwargs[key] = self.get_argument(key) if 'type' in kwargs: show_type = kwargs['type'] else: show_type = "dogfood" pipeline = [{"$match": {"package_name": pkg_name, "type": show_type}}, {"$sort": {"version_code": -1}}, {"$limit": 1}, {"$group": {"_id": "$md5", "app_info": {"$first": "$$ROOT"}}}, ] ori_apps = list(coll.aggregate(pipeline)) apps = recomposeAppInfo(ori_apps, u"a") self.write(JSONEncoder().encode(apps))