Beispiel #1
0
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
Beispiel #3
0
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)