예제 #1
0
 def post(self):
     handler_para = FeedbackPara(self)
     handler_json = FeedbackJson(self)
     usr = self.current_user
     cookie_code = self.get_vercode()
     token = handler_para['token']
     if not usr and (token is None or token.lower() != cookie_code):
         handler_json.by_status(1)
         handler_json.write()
         return  #code error
     if usr:
         handler_para['name'] = usr.name
         handler_para['email'] = usr.email
     if not handler_para['email'] or not is_email(handler_para['email']):
         handler_json.by_status(2)
         handler_json.write()
         return  #invalid email
     if len(handler_para['feedback']) < 15:
         handler_json.by_status(3)
         handler_json.write()
         return  #too short
     feedback_obj = Feedback()
     feedback_obj.set_by_info(handler_para.load_doc())
     tmp = recent_feedbacks.pop_head()
     recent_feedbacks.push(feedback_obj._id)
     tmp = Feedback.by_id(tmp)
     if tmp is not None:
         tmp.remove()
     handler_json.by_status(0)
     handler_json.write()
     return  #0
예제 #2
0
def fun_get_comment_by_position(article_id=None,
                                pos=0,
                                article_type="blog",
                                page_cap=10,
                                load_one='no',
                                load_before='no',
                                before_pos=0):
    ''' get comment by position, return [1|0, 'info', first_post, last_pos, len] '''
    ''' info contains a dict{ 'comment':{'0': comment(0) }, 'ref_commet':{'1':comment(0) } } '''
    try:
        if article_type == "blog":
            AF_Object = Blog(_id=article_id)
        elif article_type == "group-topic":
            AF_Object = Topic(_id=article_id)
        elif article_type == 'group-notice':
            AF_Object = Bulletin(_id=article_id)
        elif article_type == 'group-feedback':
            AF_Object = Feedback(_id=article_id)
        elif article_type == "group-doc":
            AF_Object = Blog(_id=article_id)
        else:
            return [1, '不支持当前类型!']
    except Exception, e:
        logging.error(traceback.format_exc())
        logging.error('%s not exist, id %s' % (article_type, article_id))
        return [1, '文章不存在!']