def get(self, cid, n=1): cid = int(cid) qs = Reply.where('cid = %s', cid) total = qs.count() page, limit, offset = page_limit_offset( '/reply_list/%s-%%s'%cid, total, n, PAGE_LIMIT, ) li = qs.order_by('id desc')[offset: offset + limit] txt_bind(li) #print cid == CID_USER if cid == CID_USER: Wall.mc_bind(li, 'wall', 'rid') wall_list = [i.wall for i in li] Zsite.mc_bind(wall_list, 'from_user', 'from_id') Zsite.mc_bind(wall_list, 'to_user', 'to_id') else: Po.mc_bind(li, 'po', 'rid') Zsite.mc_bind(li, 'user', 'user_id') self.render( reply_list=li, page=page, )
def spammer_reset(user_id): from model.po import Po, po_rm, reply_rm_if_can from zsite_tag import zsite_tag_rm_by_po for i in Po.where(user_id=user_id): po_rm(user_id, i.id) zsite_tag_rm_by_po(i) from model.reply import Reply for i in Reply.where(user_id=user_id): reply_rm_if_can(user_id, i.id) from model.wall import Wall from model.zsite import Zsite z = Zsite.mc_get(user_id) total = z.reply_count if total: reply_list = z.reply_list_reversed(total, 0) for reply in reply_list: wall = Wall.mc_get(reply.rid) if wall: wall.reply_rm(reply) spammer_new(user_id)
def notice_reply(): pre_pos = kv_int.get(KV_REPLY_NUM) #print pre_pos; pre_pos = 0 c = Reply.raw_sql( 'select max(id) from reply where cid = %s', CID_NOTE) pos = c.fetchone()[0] if pos > pre_pos: d = defaultdict(set) for i in Reply.where(cid=CID_NOTE).where( 'id>%s and id<=%s', pre_pos, pos): po_id = i.rid user_id = i.user_id d[po_id].add(user_id) for po_id, li in d.iteritems(): reply_notice_mail(po_id, li) kv_int.set(KV_REPLY_NUM, pos)
def notice_reply(): pre_pos = kv_int.get(KV_REPLY_NUM) #print pre_pos; pre_pos = 0 c = Reply.raw_sql('select max(id) from reply where cid = %s', CID_NOTE) pos = c.fetchone()[0] if pos > pre_pos: d = defaultdict(set) for i in Reply.where(cid=CID_NOTE).where('id>%s and id<=%s', pre_pos, pos): po_id = i.rid user_id = i.user_id d[po_id].add(user_id) for po_id, li in d.iteritems(): reply_notice_mail(po_id, li) kv_int.set(KV_REPLY_NUM, pos)