def get_activity(activity_type,content_id,addtime,fuser):
    item={}
    fuser=get_user_by_id(fuser)
    if activity_type==0:
        question=get_question_from_redis(content_id)
        if question:
            item={'activitytype':activity_type,'addtime':addtime,"data":question,"fuser":fuser}
    elif activity_type==1:
        answer=get_answer_by_answer_id(content_id)
        if answer:
            item={'activitytype':activity_type,'addtime':addtime,"data":answer,"fuser":fuser}
    elif activity_type==2:
        follow=QustionFollow.objects.filter(pk=content_id)#如何解决
        follow=follow[0] if len(follow)>0 else None
        if not follow:
            return None
        question=question=get_question_from_redis(follow.question_id)
        follow.question=question
        item={'activitytype':activity_type,'addtime':addtime,"data":follow,"fuser":fuser}
    elif activity_type==3:
        evalue=AnswerEvaluation.objects.filter(pk=content_id)
        evalue=evalue[0] if len(evalue)>0 else None
        if not evalue:
            return None
        answer=get_answer_by_answer_id(evalue.answer_id)
        evalue.answer=answer
        item={'activitytype':activity_type,'addtime':addtime,"data":evalue,"fuser":fuser}
    return item
Exemple #2
0
def show_question(request,question_id):
    question=None
    answers=None
    if request.user.is_authenticated():
        user_id=request.user.pk
        question=get_question_from_redis(question_id)
        question.followed=is_follow_question(question_id,user_id)
        answers=get_answers_from_redis(question_id,user_id=user_id)
    else:
        question=get_question_from_redis(question_id)
        answers=get_answers_from_redis(question_id)
    if not question:
        raise Http404
    load_question_by_question(question)
    return render_to_response("question.html",{"question":question,"answers_list":answers},context_instance=RequestContext(request))
Exemple #3
0
def get_activity(activity_type, content_id, addtime, fuser):
    item = {}
    fuser = get_user_by_id(fuser)
    if activity_type == 0:
        question = get_question_from_redis(content_id)
        if question:
            item = {
                'activitytype': activity_type,
                'addtime': addtime,
                "data": question,
                "fuser": fuser
            }
    elif activity_type == 1:
        answer = get_answer_by_answer_id(content_id)
        if answer:
            item = {
                'activitytype': activity_type,
                'addtime': addtime,
                "data": answer,
                "fuser": fuser
            }
    elif activity_type == 2:
        follow = QustionFollow.objects.filter(pk=content_id)  #如何解决
        follow = follow[0] if len(follow) > 0 else None
        if not follow:
            return None
        question = question = get_question_from_redis(follow.question_id)
        follow.question = question
        item = {
            'activitytype': activity_type,
            'addtime': addtime,
            "data": follow,
            "fuser": fuser
        }
    elif activity_type == 3:
        evalue = AnswerEvaluation.objects.filter(pk=content_id)
        evalue = evalue[0] if len(evalue) > 0 else None
        if not evalue:
            return None
        answer = get_answer_by_answer_id(evalue.answer_id)
        evalue.answer = answer
        item = {
            'activitytype': activity_type,
            'addtime': addtime,
            "data": evalue,
            "fuser": fuser
        }
    return item
def add_answer_to_redis(**kwargs):
    answer_id=add_answer(**kwargs)
    question_id=kwargs["question_id"]
    #import pdb;pdb.set_trace()
    question=get_question_from_redis(question_id)
    question.answercount+=1
    update_question(question_id,answercount=int(question.answercount))
    Question.objects.filter(pk=int(question_id)).update(answercount=int(question.answercount))
    return answer_id
Exemple #5
0
def add_answer(request):
    question_id=request.POST["questionid"]
    content=request.POST["content"]
    addtime=datetime.now()
    answer_id=add_answer_to_redis(user=request.user,addtime=addtime,question_id=question_id,content=content)
    question=get_question_from_redis(question_id)
    answer=Answer.answerobjects.create(answer_id,addtime=addtime,user=request.user,question=question,content=content);
    html_str=render_to_string('answerlist.html',{'answers_list':[answer]})
    return HttpResponse(html_str)
Exemple #6
0
def show_question(request, question_id):
    question = None
    answers = None
    if request.user.is_authenticated():
        user_id = request.user.pk
        question = get_question_from_redis(question_id)
        question.followed = is_follow_question(question_id, user_id)
        answers = get_answers_from_redis(question_id, user_id=user_id)
    else:
        question = get_question_from_redis(question_id)
        answers = get_answers_from_redis(question_id)
    if not question:
        raise Http404
    load_question_by_question(question)
    return render_to_response("question.html", {
        "question": question,
        "answers_list": answers
    },
                              context_instance=RequestContext(request))
def get_event(event_type,content_id,addtime,question_submit_count,answer_count):
    item={}
    if event_type==0:
        question=get_question_from_redis(content_id)
        item={'eventtype':event_type,'addtime':addtime,"data":question}
        question_submit_count+=1
    elif event_type==1:
        answer=get_answer_by_answer_id(content_id)
        item={'eventtype':event_type,'addtime':addtime,"data":answer}
        answer_count +=1
    elif event_type==2:
        follow=QustionFollow.objects.get(pk=content_id)#如何解决 
        question=question=get_question_from_redis(follow.question_id)
        follow.question=question
        item={'eventtype':event_type,'addtime':addtime,"data":follow}
    elif event_type==3:
        evalue=AnswerEvaluation.objects.get(pk=content_id)
        answer=get_answer_by_answer_id(evalue.answer_id)
        evalue.answer=answer
        item={'eventtype':event_type,'addtime':addtime,"data":evalue}
    return (item,question_submit_count,answer_count)
Exemple #8
0
def get_event(event_type, content_id, addtime, question_submit_count,
              answer_count):
    item = {}
    if event_type == 0:
        question = get_question_from_redis(content_id)
        item = {'eventtype': event_type, 'addtime': addtime, "data": question}
        question_submit_count += 1
    elif event_type == 1:
        answer = get_answer_by_answer_id(content_id)
        item = {'eventtype': event_type, 'addtime': addtime, "data": answer}
        answer_count += 1
    elif event_type == 2:
        follow = QustionFollow.objects.get(pk=content_id)  #如何解决
        question = question = get_question_from_redis(follow.question_id)
        follow.question = question
        item = {'eventtype': event_type, 'addtime': addtime, "data": follow}
    elif event_type == 3:
        evalue = AnswerEvaluation.objects.get(pk=content_id)
        answer = get_answer_by_answer_id(evalue.answer_id)
        evalue.answer = answer
        item = {'eventtype': event_type, 'addtime': addtime, "data": evalue}
    return (item, question_submit_count, answer_count)
Exemple #9
0
def add_answer(request):
    question_id = request.POST["questionid"]
    content = request.POST["content"]
    addtime = datetime.now()
    answer_id = add_answer_to_redis(user=request.user,
                                    addtime=addtime,
                                    question_id=question_id,
                                    content=content)
    question = get_question_from_redis(question_id)
    answer = Answer.answerobjects.create(answer_id,
                                         addtime=addtime,
                                         user=request.user,
                                         question=question,
                                         content=content)
    html_str = render_to_string('answerlist.html', {'answers_list': [answer]})
    return HttpResponse(html_str)
Exemple #10
0
def follow_question(request):
    "关注问题"
    if request.method=="POST":
        qid=request.POST.get("qid",None)
        typecode=request.POST.get("type",None)
        question=get_question_from_redis(int(qid))
        if qid and typecode:
            if typecode=="0":
                follow=QustionFollow(question=question,user=request.user)
                follow.follow_question(request.user)
                follow_question_to_redis(qid,request.user.id)
            else:
                follow=QustionFollow.objects.filter(question=question,user=request.user)[0]
                follow.cancel_follow(request.user)
                cancel_follow_question_to_redis(qid,request.user.id)
            return HttpResponse()
        else:
            return Http404
Exemple #11
0
def follow_question(request):
    "关注问题"
    if request.method == "POST":
        qid = request.POST.get("qid", None)
        typecode = request.POST.get("type", None)
        question = get_question_from_redis(int(qid))
        if qid and typecode:
            if typecode == "0":
                follow = QustionFollow(question=question, user=request.user)
                follow.follow_question(request.user)
                follow_question_to_redis(qid, request.user.id)
            else:
                follow = QustionFollow.objects.filter(question=question,
                                                      user=request.user)[0]
                follow.cancel_follow(request.user)
                cancel_follow_question_to_redis(qid, request.user.id)
            return HttpResponse()
        else:
            return Http404