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
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, '文章不存在!']