Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 5
0
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
Ejemplo n.º 6
0
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
Ejemplo n.º 7
0
def get_question_by_ids(ids):
    '''
    输入问题ID数组
    输出问题数组
    '''
    questions = db_session.query(Question).get(set(ids))
    return questions
Ejemplo n.º 8
0
def get_question_by_ids(ids):
    '''
    输入问题ID数组
    输出问题数组
    '''
    questions = db_session.query(Question).get(set(ids))
    return questions
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 15
0
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
Ejemplo n.º 16
0
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
Ejemplo n.º 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
Ejemplo n.º 18
0
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
Ejemplo n.º 19
0
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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 22
0
def get_question_by_id(id):
    question = db_session.query(Question).get(id)
    return question
Ejemplo n.º 23
0
def get_question_by_time(time):
    questions = db_session.query(Question).filter(Question.create_time>time).all()
    return questions
Ejemplo n.º 24
0
def get_tag_by_tags(tags):
    return db_session.query(Tag).filter(Tag.tag.in_(tags)).all()
Ejemplo n.º 25
0
def get_tag_by_id(id):
    return db_session.query(Tag).filter_by(id=id).first()
Ejemplo n.º 26
0
def get_user_by_name(nickname):
    user = db_session.query(User).filter_by(nickname=nickname).first()
    return user
Ejemplo n.º 27
0
def get_all_tags():
    return db_session.query(Tag).all()
Ejemplo n.º 28
0
def get_remind_by_id(id):
    remind = db_session.query(Remind).get(id)
    return remind
Ejemplo n.º 29
0
def get_user_by_id(id):
    user = db_session.query(User).get(id)
    return user
Ejemplo n.º 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
Ejemplo n.º 31
0
def get_unread_reminds(uid):
    reminds = db_session.query(Remind).filter_by(user_id=uid, has_read=False).all()
    return reminds
Ejemplo n.º 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]
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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]
Ejemplo n.º 36
0
def get_user_by_email(email):
    user = db_session.query(User).filter_by(email=email).first()
    return user
Ejemplo n.º 37
0
def get_user_by_id(id):
    user = db_session.query(User).get(id)
    return user
Ejemplo n.º 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()
Ejemplo n.º 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
Ejemplo n.º 40
0
def get_tag_by_like(query, count):
    return db_session.query(Tag).filter(Tag.tag.like('%'+query+'%')).limit(count).all()
Ejemplo n.º 41
0
def get_tag_by_tag(tag):
    return db_session.query(Tag).filter_by(tag=tag).first()
Ejemplo n.º 42
0
def get_question_by_like(query, count):
    return db_session.query(Question).filter(Question.title.like('%'+query+'%')).limit(count).all()
Ejemplo n.º 43
0
def get_latest_tags(count, page=0):
    return db_session.query(Tag).order_by(Tag.id.desc()).limit(count).offset(page*count).all()
Ejemplo n.º 44
0
def get_question_by_time(time):
    questions = db_session.query(Question).filter(
        Question.create_time > time).all()
    return questions
Ejemplo n.º 45
0
def get_tag_by_id(id):
    return db_session.query(Tag).filter_by(id=id).first()
Ejemplo n.º 46
0
def get_tag_by_tag(tag):
    return db_session.query(Tag).filter_by(tag=tag).first()
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 50
0
def get_resource_by_like(query, count):
    return db_session.query(Resource).filter(Resource.title.like('%'+query+'%')).limit(count).all()
Ejemplo n.º 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]
Ejemplo n.º 52
0
def get_all_tags():
    return db_session.query(Tag).all()
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 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
Ejemplo n.º 57
0
def get_user_by_email(email):
    user = db_session.query(User).filter_by(email=email).first()
    return user
Ejemplo n.º 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
Ejemplo n.º 59
0
def get_user_by_name(nickname):
    user = db_session.query(User).filter_by(nickname=nickname).first()
    return user
Ejemplo n.º 60
0
def get_question_by_id(id):
    question = db_session.query(Question).get(id)
    return question