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, '文章不存在!']
def fun_get_feedback_list(group=None, page=1, page_cap=10): feedback_list = group.feedback_list.load_all() #print feedback_list if feedback_list is None: feedback_list = [] feedback_list.reverse() min_index, max_index = get_index_list_by_page(feedback_list, page=page, page_cap=page_cap) feedback_list_instance = Feedback.get_instances( '_id', feedback_list[min_index:max_index]) res_list = [] for item in feedback_list_instance: res_list.append({ 'feedback_id': str(item._id), 'feedback_title': item.name, 'feedback_author_id': str(item.author_id), 'feedback_author_name': item.author_name }) return res_list, len(feedback_list), page
def fun_get_feedback_list(group=None, page=1, page_cap=10): feedback_list = group.feedback_list.load_all() #print feedback_list if feedback_list is None: feedback_list = [] feedback_list.reverse() min_index, max_index = get_index_list_by_page(feedback_list, page=page, page_cap=page_cap) feedback_list_instance = Feedback.get_instances('_id', feedback_list[min_index:max_index]) res_list = [] for item in feedback_list_instance: res_list.append({'feedback_id': str(item._id), 'feedback_title': item.name, 'feedback_author_id': str(item.author_id), 'feedback_author_name': item.author_name}) return res_list, len(feedback_list), page
def get(self): page = AFFeedbackPage(self) feedbacks = sorted(Feedback.by_ids(recent_feedbacks.get_slice(-50))) feedback_infos = [each.obj_info_view_by() for each in feedbacks] page['feedback_list'] = feedback_infos return page.render()