def buzz_po_bind_user(po_list ,po_user_id_list, user_id=0): from model.po_pos import po_pos_get_last_reply_id user_dict = Zsite.mc_get_dict(chain(*po_user_id_list)) result = [] for i, user_id_list in zip(po_list, po_user_id_list): id = i.id new_reply_show = [] for uid in user_id_list: if uid not in new_reply_show and user_id != uid: new_reply_show.append(uid) if len(new_reply_show) == SHOW_LIMT: break new_reply_show = [ (z.id, z.name) for z in map(user_dict.get, new_reply_show) ] new_reply_count = max( (len(set(user_id_list)) - SHOW_LIMT, 0) ) t = ( id, i.name, new_reply_count, new_reply_show, po_pos_get_last_reply_id(user_id,id) ) result.append(t) return result
def buzz_po_bind_user(po_list, po_user_id_list, user_id=0): from model.po_pos import po_pos_get_last_reply_id user_dict = Zsite.mc_get_dict(chain(*po_user_id_list)) result = [] for i, user_id_list in zip(po_list, po_user_id_list): id = i.id new_reply_show = [] for uid in user_id_list: if uid not in new_reply_show and user_id != uid: new_reply_show.append(uid) if len(new_reply_show) == SHOW_LIMT: break new_reply_show = [(z.id, z.name) for z in map(user_dict.get, new_reply_show)] new_reply_count = max((len(set(user_id_list)) - SHOW_LIMT, 0)) t = (id, i.name, new_reply_count, new_reply_show, po_pos_get_last_reply_id(user_id, id)) result.append(t) return result
def po_list_by_buzz_reply_user_id(user_id): from model.po import Po from model.po_pos import po_pos_get_last_reply_id from model.reply import Reply from model.buzz_po_bind_user import buzz_po_bind_user id_list = po_id_list_by_buzz_reply_user_id(user_id) po_list = Po.mc_get_list(id_list) po_user_id = [] for i in po_list: pos = po_pos_get_last_reply_id(user_id, i.id) new_reply_id_list = [] for reply_id in i.reply_id_list(): if reply_id > pos: new_reply_id_list.append(reply_id) user_id_list = [] for reply in Reply.mc_get_list(reversed(new_reply_id_list)): user_id_list.append(reply.user_id) po_user_id.append(user_id_list) return buzz_po_bind_user(po_list, po_user_id, user_id)