def txt(self): cid = self.cid if cid == CID_WORD: return self.name_ elif cid in (CID_EVENT_NOTICE, CID_REC): return self.name_ elif cid == CID_ANSWER: return txt_get(self.id) or self.name_ else: return txt_get(self.id)
def buzz_po_reply_new(from_id, reply_id, po_id, po_user_id): from po_pos import user_id_list_by_po_pos_buzz buzz_to = user_id_list_by_po_pos_buzz(po_id) txt = txt_get(reply_id) excepted = buzz_at_new(from_id, txt, po_id, reply_id) for user_id in excepted: buzz_reply_hide(user_id, po_id) excepted.add(from_id) if from_id != po_user_id: buzz_to.add(po_user_id) buzz_to = buzz_to - excepted if buzz_to: now = int(time()) for user_id in buzz_to: if BuzzAt.get(po_id=po_id, to_id=user_id, state=BUZZ_AT_SHOW ): continue buzz_reply = BuzzReply.get_or_create(po_id=po_id, user_id=user_id) buzz_reply.update_time = now buzz_reply.state = BUZZ_REPLY_STATE_SHOW buzz_reply.save() mc_flush(user_id)
def buzz_at_reply_rm(reply_id): from model.reply import Reply txt = txt_get(reply_id) if not txt: return at_id_set = at_id_set_by_txt(txt) for to_id in at_id_set: BuzzAt.where(to_id=to_id, reply_id=reply_id).update(state=BUZZ_AT_RMED) mc_flush(to_id)
def render_user_feed_api_by_zsite_id(zsite_id, limit=PAGE_LIMIT, begin_id=None): id_list = [] id = 0 count = 0 for id in feed_po_iter(zsite_id, begin_id): id_list.append(id) count += 1 if count >= limit: break li = feed_po_dict_list(id_list) for i in li: txt = txt_get(i['id']) if txt: i['txt'] = txt return li, id
def render_feed_api_by_zsite_id(zsite_id, limit=PAGE_LIMIT, begin_id=None): feed_merge = FeedPoMerge(zsite_id_list_by_follow(zsite_id)) id_list = [] zsite_id_list = [] id = 0 for i in feed_merge.merge_iter(limit, begin_id): id = i.id zsite_id = i.zsite_id id_list.append(id) zsite_id_list.append(zsite_id) user_dict_dict = feed_user_dict_dict(zsite_id_list) li = feed_po_dict_list(id_list) for i, zsite_id in zip(li, zsite_id_list): i['user'] = user_dict_dict[zsite_id] txt = txt_get(i['id']) if txt: i['txt'] = txt return li, id
def txt(self): return txt_get(self.id)