def get(self): result = [] categories = Category.select() for m in categories: result.append(model_to_dict(m)) return {'result': result}
def index(): categories = Category.select() return jsonify([{ "id": c.id, "name": c.name, "sub_categories": [{ "sub": s.name, "id": s.id } for s in c.sub_categories] } for c in categories])
def get_events_categories(self, event_id: int = None): if event_id == None: return [{ 'title': c.title, 'price': c.price, 'checked': 'unchecked' } for c in Category.select()] else: ec = [] for c in Category.select(): checked = 'unchecked' if EventsCategory.select().where( (EventsCategory.category == c.id) & (EventsCategory.event == event_id)): checked = 'checked' ec.append({ 'title': c.title, 'price': c.price, 'checked': checked }) return ec
def category_update(user, params): # category example: 1,2,3,4,5 category = params.get('category') try: category_list = set(category.split(",")) except: return {"error_code": 20101, "msg": "category invalid"} if len(category_list) != len(filter(utils.safe_id, category_list)): return {"error_code": 20103, "msg": "category invalid"} if len(category_list) == 0: return {"error_code": 20102, "msg": "category not empty"} cates = Category.select(Category.id) cates = set([str(x.id) for x in cates]) if not category_list <= cates: return {"error_code": 20104, "msg": "category error"} if len(category_list) > 10: return {"error_code": 20105, "msg": "category too large"} exist_list = UserCategory.select( UserCategory.category).where(UserCategory.user == user) exist_list = set([str(x.category_id) for x in exist_list]) if category_list == exist_list: return {"error_code": 0, "msg": "ok"} new_cates = list(category_list.difference(exist_list)) del_cates = list(exist_list.difference(category_list)) for c in new_cates: tmp_cate = UserCategory() tmp_cate.user = user tmp_cate.category = c tmp_cate.save() for d in del_cates: UserCategory.delete().where(UserCategory.user == user, UserCategory.category == d).execute() queue.to_queue({ "type": "user_completeness", "user_id": user.id, "columns": [ "category", ] }) return {"error_code": 0, "msg": "ok"}
def category_update(user, params): # category example: 1,2,3,4,5 category = params.get('category') try: category_list = set(category.split(",")) except: return {"error_code":20101, "msg":"category invalid"} if len(category_list) != len(filter(utils.safe_id, category_list)): return {"error_code":20103, "msg":"category invalid"} if len(category_list) == 0: return {"error_code":20102, "msg":"category not empty"} cates = Category.select(Category.id) cates = set([str(x.id) for x in cates]) if not category_list <= cates: return {"error_code":20104, "msg":"category error"} if len(category_list) > 10: return {"error_code":20105, "msg":"category too large"} exist_list = UserCategory.select(UserCategory.category).where(UserCategory.user == user) exist_list = set([str(x.category_id) for x in exist_list]) if category_list == exist_list: return {"error_code":0, "msg":"ok"} new_cates = list(category_list.difference(exist_list)) del_cates = list(exist_list.difference(category_list)) for c in new_cates: tmp_cate = UserCategory() tmp_cate.user = user tmp_cate.category = c tmp_cate.save() for d in del_cates: UserCategory.delete().where(UserCategory.user == user, UserCategory.category == d).execute() queue.to_queue({"type": "user_completeness", "user_id": user.id, "columns": ["category", ]}) return {"error_code":0, "msg":"ok"}
def search_category(cls, search): category_ids = cls.select(cls.category_id) return Category.select( Category.id, Category.category ).filter(Category.id << category_ids).where(Category.category.contains(search))
def get_all_category(cls): category_ids = cls.select(cls.category_id) return Category.select(Category.id, Category.category).filter(Category.id << category_ids)
#! /usr/bin/python # encoding: utf-8 from models.category import Category from models.user import User from models.check import Check from models.base import get_database import sys if __name__ == '__main__': if 'create' in sys.argv: print 'Creating database... .' db = get_database() db.connect() db.create_tables([User, Check, Category], safe=True) print 'Creating database complete.' elif 'fixtures' in sys.argv: User.create('*****@*****.**', 'pass').save() User.create('*****@*****.**', 'pass1').save() elif 'count' in sys.argv: print 'User', User.select().count() print 'Category', Category.select().count() print 'Check', Check.select().count() else: print 'Available actions are [create, fixtures, count]'
def get_categories(self): ''' Return all categories ''' return Category.select()