示例#1
0
def edit_question_tags(qid, tags):
    db_session.begin()
    new_tags(tags)

    db_session.query(Question_Tag).filter_by(question_id=qid).delete()
    db_session.add_all([Question_Tag(qid,tag) for tag in tags])
    db_session.commit()
    return QUESTION_TAG_EDIT_OK
示例#2
0
def edit_question_tags(qid, tags):
    db_session.begin()
    new_tags(tags)

    db_session.query(Question_Tag).filter_by(question_id=qid).delete()
    db_session.add_all([Question_Tag(qid, tag) for tag in tags])
    db_session.commit()
    return QUESTION_TAG_EDIT_OK
示例#3
0
def new_resource_download(rd):
    download = db_session.query(Resource_Download).filter_by(resource_id=rd.resource_id, 
            user_id=rd.user_id).first()
    if download:
        return RESOURCE_DOWNLOAD_DUPLICATE
    
    db_session.add(rd)

    resource = db_session.query(Resource).get(rd.resource_id)
    resource.download_count += 1
    
    db_session.commit()
    return RESOURCE_DOWNLOAD_ADD_OK
示例#4
0
def new_resource_download(rd):
    db_session.begin()
    download = db_session.query(Resource_Download).filter_by(
        resource_id=rd.resource_id, user_id=rd.user_id).first()
    if download:
        return RESOURCE_DOWNLOAD_DUPLICATE

    db_session.add(rd)

    resource = db_session.query(Resource).get(rd.resource_id)
    resource.download_count += 1

    db_session.commit()
    return RESOURCE_DOWNLOAD_ADD_OK
示例#5
0
文件: answer.py 项目: urantroiin/odd
def new_answer_up(answer_up):
    db_session.begin()
    au = db_session.query(Answer_Up).filter_by(answer_id=answer_up.answer_id, 
            user_id=answer_up.user_id).first()
    if au:
        return ANSWER_UP_DUPLICATE

    db_session.add(answer_up)

    anwser = db_session.query(Answer).get(answer_up.answer_id)
    anwser.up += 1

    db_session.commit()
    
    return ANSWER_UP_ADD_OK
示例#6
0
文件: answer.py 项目: urantroiin/odd
def new_answer_up(answer_up):
    db_session.begin()
    au = db_session.query(Answer_Up).filter_by(
        answer_id=answer_up.answer_id, user_id=answer_up.user_id).first()
    if au:
        return ANSWER_UP_DUPLICATE

    db_session.add(answer_up)

    anwser = db_session.query(Answer).get(answer_up.answer_id)
    anwser.up += 1

    db_session.commit()

    return ANSWER_UP_ADD_OK
示例#7
0
def get_question_by_ids(ids):
    '''
    输入问题ID数组
    输出问题数组
    '''
    questions = db_session.query(Question).get(set(ids))
    return questions
示例#8
0
def get_question_by_ids(ids):
    '''
    输入问题ID数组
    输出问题数组
    '''
    questions = db_session.query(Question).get(set(ids))
    return questions
示例#9
0
def get_question_by_tags(tags):
    tags = db_session.query(Question_Tag).filter(Question_Tag.tag.in_(tags)).order_by(Question_Tag.id.desc()).all()
    qs = []
    for t in tags:
        if not t.question in qs:
            qs.append(t.question)
    return qs
示例#10
0
def get_resource_by_tags(tags):
    tags = db_session.query(Resource_Tag).filter(Resource_Tag.tag.in_(tags)).order_by(Resource_Tag.id.desc()).all()
    rs = []
    for t in tags:
        if not t.resource in rs:
            rs.append(t.resource)
    return rs
示例#11
0
def get_resource_by_tags(tags):
    tags = db_session.query(Resource_Tag).filter(
        Resource_Tag.tag.in_(tags)).order_by(Resource_Tag.id.desc()).all()
    rs = []
    for t in tags:
        if not t.resource in rs:
            rs.append(t.resource)
    return rs
示例#12
0
def new_answer(resourceanswer):
    db_session.add(resourceanswer)

    resource = db_session.query(Resource).get(resourceanswer.resource_id)
    resource.answer_count += 1
    
    db_session.commit()
    return ANSWER_ADD_OK
示例#13
0
def new_tag_follow(tag_follow):
    tf = db_session.query(Tag_Follow).filter_by(user_id=tag_follow.user_id, tag=tag_follow.tag).first()
    if tf:
        return TAG_FOLLOW_DUPLICATE

    db_session.add(tag_follow)
    db_session.commit()
    return TAG_FOLLOW_ADD_OK
示例#14
0
def get_question_by_tags(tags):
    tags = db_session.query(Question_Tag).filter(
        Question_Tag.tag.in_(tags)).order_by(Question_Tag.id.desc()).all()
    qs = []
    for t in tags:
        if not t.question in qs:
            qs.append(t.question)
    return qs
示例#15
0
文件: answer.py 项目: urantroiin/odd
def new_answer(answer):
    db_session.begin()
    db_session.add(answer)

    question = db_session.query(Question).get(answer.question_id)
    question.answer_count += 1
    
    db_session.commit()
    return ANSWER_ADD_OK
示例#16
0
文件: answer.py 项目: urantroiin/odd
def new_answer(answer):
    db_session.begin()
    db_session.add(answer)

    question = db_session.query(Question).get(answer.question_id)
    question.answer_count += 1

    db_session.commit()
    return ANSWER_ADD_OK
示例#17
0
def new_tag_follow(tag_follow):
    db_session.begin()
    tf = db_session.query(Tag_Follow).filter_by(user_id=tag_follow.user_id,
                                                tag=tag_follow.tag).first()
    if tf:
        return TAG_FOLLOW_DUPLICATE

    db_session.add(tag_follow)
    db_session.commit()
    return TAG_FOLLOW_ADD_OK
示例#18
0
文件: user.py 项目: urantroiin/odd
def user_login(user, remember):
    u = db_session.query(User).filter_by(email=user.email, passwd=user.passwd).first()
    
    if not u:
        return USER_NOT_EXIST

    user.id = u.id
    user.nickname = u.nickname
    login_user(u, remember=remember)

    return USER_LOGIN_OK
示例#19
0
文件: user.py 项目: urantroiin/odd
def user_login(user, remember):
    u = db_session.query(User).filter_by(email=user.email,
                                         passwd=user.passwd).first()

    if not u:
        return USER_NOT_EXIST

    user.id = u.id
    user.nickname = u.nickname
    login_user(u, remember=remember)

    return USER_LOGIN_OK
示例#20
0
def new_resource_mark(resource_mark):
    au = db_session.query(Resource_Mark).filter_by(resource_id=resource_mark.resource_id, 
                                                   user_id=resource_mark.user_id).first()
    if au:
        if resource_mark.mark_type == 'good' :
            return ANSWER_GOOD_DUPLICATE
        if resource_mark.mark_type == 'bad' :
            return ANSWER_BAD_DUPLICATE

    db_session.add(resource_mark)

    resorce = db_session.query(Resource).get(resource_mark.resource_id)
    if resource_mark.mark_type == 'good' :
        resorce.score += 1
        resorce.good += 1
        db_session.commit()
        return ANSWER_GOOD_ADD_OK
    elif resource_mark.mark_type == 'bad' :
        resorce.score -= 1
        resorce.bad += 1
        db_session.commit()
        return ANSWER_BAD_ADD_OK
示例#21
0
def get_question_by_uid(uid):
    questions = db_session.query(Question).filter_by(user_id=uid).order_by(Question.id.desc()).all()
    return questions
示例#22
0
def get_question_by_id(id):
    question = db_session.query(Question).get(id)
    return question
示例#23
0
def get_question_by_time(time):
    questions = db_session.query(Question).filter(Question.create_time>time).all()
    return questions
示例#24
0
文件: tag.py 项目: kaniel/odd-offer
def get_tag_by_tags(tags):
    return db_session.query(Tag).filter(Tag.tag.in_(tags)).all()
示例#25
0
def get_tag_by_id(id):
    return db_session.query(Tag).filter_by(id=id).first()
示例#26
0
文件: user.py 项目: urantroiin/odd
def get_user_by_name(nickname):
    user = db_session.query(User).filter_by(nickname=nickname).first()
    return user
示例#27
0
文件: tag.py 项目: kaniel/odd-offer
def get_all_tags():
    return db_session.query(Tag).all()
示例#28
0
def get_remind_by_id(id):
    remind = db_session.query(Remind).get(id)
    return remind
示例#29
0
文件: user.py 项目: urantroiin/odd
def get_user_by_id(id):
    user = db_session.query(User).get(id)
    return user
示例#30
0
def new_tags(tags):
    ts = db_session.query(Tag.tag).filter(Tag.tag.in_(tags)).all()
    ts = [t[0] for t in ts]
    db_session.add_all([Tag(t) for t in tags if t not in ts])
    return TAG_ADD_OK
示例#31
0
def get_unread_reminds(uid):
    reminds = db_session.query(Remind).filter_by(user_id=uid, has_read=False).all()
    return reminds
示例#32
0
def get_question_by_tag(tag):
    tags = db_session.query(Question_Tag).filter_by(tag=tag).all()
    return [t.question for t in tags]
示例#33
0
def get_question_titles(count, page=0):
    questions = db_session.query(Question.id, Question.title).order_by(
        Question.id.desc()).limit(count).offset(page * count).all()
    return questions
示例#34
0
def get_question_by_uid(uid):
    questions = db_session.query(Question).filter_by(user_id=uid).order_by(
        Question.id.desc()).all()
    return questions
示例#35
0
def get_question_by_tag(tag):
    tags = db_session.query(Question_Tag).filter_by(tag=tag).all()
    return [t.question for t in tags]
示例#36
0
文件: user.py 项目: urantroiin/odd
def get_user_by_email(email):
    user = db_session.query(User).filter_by(email=email).first()
    return user
示例#37
0
文件: user.py 项目: urantroiin/odd
def get_user_by_id(id):
    user = db_session.query(User).get(id)
    return user
示例#38
0
def get_latest_tags(count, page=0):
    return db_session.query(Tag).order_by(Tag.id.desc()).limit(count).offset(
        page * count).all()
示例#39
0
def get_question_gt_id(id, count):
    questions = db_session.query(Question).filter(Question.id > id).order_by(
        Question.id).limit(count).all()
    return questions
示例#40
0
文件: tag.py 项目: kaniel/odd-offer
def get_tag_by_like(query, count):
    return db_session.query(Tag).filter(Tag.tag.like('%'+query+'%')).limit(count).all()
示例#41
0
文件: tag.py 项目: kaniel/odd-offer
def get_tag_by_tag(tag):
    return db_session.query(Tag).filter_by(tag=tag).first()
示例#42
0
def get_question_by_like(query, count):
    return db_session.query(Question).filter(Question.title.like('%'+query+'%')).limit(count).all()
示例#43
0
文件: tag.py 项目: kaniel/odd-offer
def get_latest_tags(count, page=0):
    return db_session.query(Tag).order_by(Tag.id.desc()).limit(count).offset(page*count).all()
示例#44
0
def get_question_by_time(time):
    questions = db_session.query(Question).filter(
        Question.create_time > time).all()
    return questions
示例#45
0
文件: tag.py 项目: kaniel/odd-offer
def get_tag_by_id(id):
    return db_session.query(Tag).filter_by(id=id).first()
示例#46
0
def get_tag_by_tag(tag):
    return db_session.query(Tag).filter_by(tag=tag).first()
示例#47
0
def get_latest_resources(count, page=0):
    resources = db_session.query(Resource).order_by(
        Resource.id.desc()).limit(count).offset(page * count).all()
    return resources
示例#48
0
def get_resource_titles(count):
    resources = db_session.query(Resource.id, Resource.title).order_by(Resource.id.desc()).limit(count).all()
    return resources
示例#49
0
def get_question_gt_id(id, count):
    questions = db_session.query(Question).filter(Question.id>id).order_by(Question.id).limit(count).all()
    return questions
示例#50
0
def get_resource_by_like(query, count):
    return db_session.query(Resource).filter(Resource.title.like('%'+query+'%')).limit(count).all()
示例#51
0
def get_resource_by_tag(tag):
    tags = db_session.query(Resource_Tag).filter_by(tag=tag).all()
    return [t.resource for t in tags]
示例#52
0
def get_all_tags():
    return db_session.query(Tag).all()
示例#53
0
def get_question_titles(count, page=0):
    questions = db_session.query(Question.id, Question.title).order_by(Question.id.desc()).limit(count).offset(page*count).all()
    return questions
示例#54
0
def edit_resource_tags(rid, tags):
    new_tags(tags)
    db_session.query(Resource_Tag).filter_by(resource_id=rid).delete()
    db_session.add_all([Resource_Tag(rid,tag) for tag in tags])
    db_session.commit()
    return RESOURCE_TAG_EDIT_OK
示例#55
0
def get_resource_by_uid(uid):
    resources = db_session.query(Resource).filter_by(user_id=uid).order_by(
        Resource.id.desc()).all()
    return resources
示例#56
0
def get_resource_titles(count):
    resources = db_session.query(Resource.id, Resource.title).order_by(
        Resource.id.desc()).limit(count).all()
    return resources
示例#57
0
文件: user.py 项目: urantroiin/odd
def get_user_by_email(email):
    user = db_session.query(User).filter_by(email=email).first()
    return user
示例#58
0
def get_hotest_resources(count):
    resources = db_session.query(Resource).order_by(
        Resource.download_count.desc(), Resource.id.desc()).limit(count).all()
    return resources
示例#59
0
文件: user.py 项目: urantroiin/odd
def get_user_by_name(nickname):
    user = db_session.query(User).filter_by(nickname=nickname).first()
    return user
示例#60
0
def get_question_by_id(id):
    question = db_session.query(Question).get(id)
    return question