def list(cls, substance): kit_list = [] author_id = substance.get("author_id") category_id = substance.get("category_id") tags = substance.get("tags") if author_id: author_key = Author.get_key_by_id(author_id) if author_key: kit_list = [kit.to_hash_short() for kit in Kit.query(Kit.author == author_key)] elif category_id: category_key = Category.get_key_by_id(category_id) if category_key: kit_list = [kit.to_hash_short() for kit in Kit.query(Kit.category == category_key, True == Kit.valid)] elif tags: kit_list = [ kit.to_hash_short() for kit in Kit.query(Kit.tags.IN(Kit.sanitize_tags(tags)), True == Kit.valid) ] else: kit_list = [kit.to_hash_short() for kit in Kit.query(True == Kit.valid)] return dict(items=kit_list)