Beispiel #1
0
    def get(self):
        result = []
        categories = Category.select()
        for m in categories:
            result.append(model_to_dict(m))

        return {'result': result}
Beispiel #2
0
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])
Beispiel #3
0
    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
Beispiel #4
0
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"}
Beispiel #5
0
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"}
Beispiel #6
0
 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))
Beispiel #7
0
 def get_all_category(cls):
     category_ids = cls.select(cls.category_id)
     return Category.select(Category.id, Category.category).filter(Category.id << category_ids)
Beispiel #8
0
#! /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]'
Beispiel #9
0
 def get_categories(self):
     '''
     Return all categories
     '''
     return Category.select()