Exemple #1
0
def submit_question(**kwargs):
    question = Question(**kwargs)
    question_id = get_next_question_id()
    question.id = question_id
    question.addtime = datetime.now()
    load_question_by_question(question)
    return question_id
Exemple #2
0
def submit_question(request):
    try:
        if request.method == "POST":
            question = Question()
            title = request.POST["title"]
            content = request.POST["content"]
            category = request.POST["category"]
            user = request.user
            addtime = datetime.now()
            if content and title:
                question_id = add_question_to_redis(user=request.user,
                                                    content=content,
                                                    title=title,
                                                    category=category,
                                                    addtime=addtime)
                question = Question.questionobjects.create(id=question_id,
                                                           user=request.user,
                                                           content=content,
                                                           title=title,
                                                           category=category,
                                                           addtime=addtime)
                return HttpResponse(str(question.id))
            else:
                return HttpResponse(u"内容不能为空")
    except Exception, e:
        return HttpResponse(u'error')
Exemple #3
0
def get_question_from_redis(question_id):
    field = ["id", "title", "content", "answercount", "addtime", "user_id"]
    if not question_client.exists(QUESTION_PRFIX + str(question_id)):
        return load_question_by_id(question_id)
    else:
        question_dict = question_client.hmget(
            QUESTION_PRFIX + str(question_id), field)
        question=Question(id=question_dict[0],title=question_dict[1].decode("utf-8"),content=question_dict[2].decode("utf-8"),answercount=int(question_dict[3]),\
                addtime=get_datetime(question_dict[4]),user=get_user_by_id(int(question_dict[5])))
        return question
Exemple #4
0
 def form_valid(self, form):
     action = self.request.POST.get('action')
     if action == 'SAVE':
         return super().form_valid(form)
     elif action == 'PREVIEW':
         preview = Question(title=form.cleaned_data['title'],
                            question=form.cleaned_data['question'])
         ctx = self.get_context_data(preview=preview)
         return self.render_to_response(ctx)
     return HttpResponseBadRequest()
Exemple #5
0
 def get_activity_list(self,userid,**kwargs):
     """获取好友最新动态 使用了存储过程 目前动态有0、1、2、3四类 分别代表 提问、回答问题、关注问题、赞或反对问题 """
     activity_list=[]
     question_submit_count=0
     answer_count=0
     page=kwargs.pop('page',1)
     pagecount=kwargs.pop('pagecount',15)
     cursor=connection.cursor()
     cursor.callproc("sp_friendactiviy",(userid,(page-1)*15,pagecount))
     for row in cursor.fetchall():
         #import pdb;pdb.set_trace()
         if row[0]==0:
             question=Question(id=row[13],title=row[14])
             user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])
             question.user=user
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":question,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
             question_submit_count+=1
         elif row[0]==1:
             answer=Answer(id=row[3],content=row[4],addtime=row[5],commentcount=row[6],favorcount=row[7],opposecount=row[8])
             answer.user=User(id=row[9],name=row[10],surname=row[11],avatar=row[12])
             answer.question=Question(id=row[13],title=row[14],user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])) 
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":answer,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
             answer_count +=1
         elif row[0]==2:
             follow=QustionFollow(id=row[19])
             question=Question(id=row[13],title=row[14])
             user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18])
             question.user=user
             follow.question=question
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":follow,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
         elif row[0]==3:
             evalue=AnswerEvaluation(status=row[2])
             answer=Answer(id=row[3],content=row[4],addtime=row[5],commentcount=row[6],favorcount=row[7],opposecount=row[8])
             answer.user=User(id=row[9],name=row[10],surname=row[11],avatar=row[12])
             answer.question=Question(id=row[13],title=row[14],user=User(id=row[15],name=row[16],surname=row[17],avatar=row[18]))
             evalue.answer=answer
             activity_list.append({'activitytype':row[0],'addtime':row[1],"data":evalue,"fuser":User(id=row[20],name=row[21],\
                     surname=row[22],avatar=row[23])})
     return {"activity_list":activity_list,"statistics":{"submit_question":question_submit_count,"answer":answer_count}}
Exemple #6
0
def insert_solr(solrtype, **kwargs):
    """对象序列化问题尚未解决 json or pickle 目前使用传递字典代替"""
    sleep(2)
    solr = None
    obj = None
    try:
        if solrtype == "answer":
            solr = AnswerSolr()
            obj = Answer(**kwargs)
            #obj=Answer(id=id,content=content,question_id=question_id,user_id=user_id)
        elif solrtype == "question":
            solr = QuestionSolr()
            obj = Question(**kwargs)
        elif solrtype == "user":
            solr = UserSolr()
            obj = User(**kwargs)
        solr.add(obj)
        return True
    except Exception, e:
        print e
        return e