def rec_read_po_rm_fix(): for i in redis.keys(REDIS_TAG_CID % ('*', '*')): tag_id = i[7:15] cid = int(i.split(":")[-1]) for j in redis.zrange(i, 0, -1): po = Po.mc_get(j) if po.state < STATE_ACTIVE: _tag_rm_by_user_id_list(po, po.user_id, [tag_id]) print "po_tag_rm_by_po(po)", tag_id, j for i in redis.keys(REDIS_REC_TAG_NEW % '*'): for j in redis.smembers(i): po = Po.mc_get(j) if po.state < STATE_ACTIVE: redis.srem(i, j) print po.link print i, j for i in redis.keys(REDIS_REC_TAG_OLD % '*'): for j in redis.zrange(i, 0, -1): po = Po.mc_get(j) if po.state < STATE_ACTIVE: print po.link redis.zrem(i, j) for i in redis.keys(REDIS_REC_USER_LOG % '*'): for j in redis.zrange(i, 0, -1): po = Po.mc_get(j) if po.state < STATE_ACTIVE: print po.link redis.zrem(i, j) for i in redis.keys(REDIS_REC_USER_PO_TO_REC % ('*', '*')): print i redis.delete(i)
def sync_recommend(id, po_id): from po import Po p = Po.mc_get(po_id) s = state_oauth_id_by_zsite_id_cid(id, SYNC_CID_SHARE) for oauth_id in s: rec_po = Po.mc_get(p.rid) if rec_po: txt = cnencut(p.name_, 20) if txt: txt = '%s -> '%txt else: txt = txt+"分享: " sync_by_oauth_id(oauth_id, txt + cnencut(rec_po.name_,50) , 'http:%s'%rec_po.link)
def sync_recommend(id, po_id): from po import Po p = Po.mc_get(po_id) s = state_oauth_id_by_zsite_id_cid(id, SYNC_CID_SHARE) for oauth_id in s: rec_po = Po.mc_get(p.rid) if rec_po: txt = cnencut(p.name_, 20) if txt: txt = '%s -> ' % txt else: txt = txt + "分享: " sync_by_oauth_id(oauth_id, txt + cnencut(rec_po.name_, 50), 'http:%s' % rec_po.link)
def get(self, id): # data = { # "zsite":{ # "name":"w", # "unit":"xx", # "title":"zz" # }, # "name":"2011年第2次BPUG活动", # "id":1234, # "fav":True, # "reply_count":1, # "tag_id":232, # "tag_name":"sss" # } po = Po.mc_get(id) user = po.user result = [id] result.extend(feed_tuple_by_db(id)) result.pop() result.pop() result.append(po.htm) zsite = [user.name, user.link] zsite.extend(career_current(po.user_id)) result.append(zsite) self.finish(dumps(result))
def get(self, id): po = Po.mc_get(id) if po: link = po.link else: link = '/' return self.redirect(link, True)
def post(self, po_id=0): cid = CID_VIDEO url = self.get_argument('video', None) name = self.get_argument('name', None) txt = self.get_argument('txt', None) link = '/feed' if po_id: po_id = int(po_id) po = Po.mc_get(po_id) if po and po.user_id == self.current_user_id: po.name_ = name po.txt_set(txt) po.save() link = '/po/tag/%s' % po_id else: if url: video, video_site = video_filter(url) if video: user_id = self.current_user_id zsite_id = zsite_id_by_zsite_user_id(self.zsite, user_id) if zsite_id: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW else: state = STATE_ACTIVE po = po_video_new(user_id, name, txt, video, video_site, state, zsite_id) if po: po_id = po.id link = '/po/tag/%s' % po_id return self.redirect(link)
def get(self, id): from model.rss import rss_link_by_po_id link = rss_link_by_po_id(id) if not link: po = Po.mc_get(id) link = po.link self.redirect(link, True)
def post(self, po_id=0): cid = CID_VIDEO url = self.get_argument('video', None) name = self.get_argument('name', None) txt = self.get_argument('txt', None) link = '/feed' if po_id: po_id = int(po_id) po = Po.mc_get(po_id) if po and po.user_id == self.current_user_id: po.name_ = name po.txt_set(txt) po.save() link = '/po/tag/%s' % po_id else: if url: video, video_site = video_filter(url) if video: user_id = self.current_user_id zsite_id = zsite_id_by_zsite_user_id(self.zsite, user_id) if zsite_id: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW else: state = STATE_ACTIVE po = po_video_new(user_id, name, txt, video, video_site, state, zsite_id) if po: po_id = po.id link = '/po/tag/%s' % po_id return self.redirect(link)
def rss_tag(): from model.rss import RSS_PO_ID_STATE_NOTAG, CID_USER, RssPoId, RSS_PO_ID_STATE_AUTOTAG from zweb.orm import ormiter from zdata.idf.tfidf import tag_id_rank_list_by_txt, ID2NAME from model.po import Po from operator import itemgetter from model.po_tag_user import tag2idlist_po_user, rss_po_new from zkit.algorithm.unique import unique for rss_po_id in ormiter( RssPoId, 'user_cid=%s and state=%s' % (CID_USER, RSS_PO_ID_STATE_NOTAG)): po = Po.mc_get(rss_po_id.po_id) if not po: continue #print po.name_ txt = '%s\n%s' % (po.name_, po.txt) tag_id_rank_list = tag_id_rank_list_by_txt(txt)[:7] tag_id_list = map(itemgetter(0), tag_id_rank_list) user_tag_id_list = map( int, tag2idlist_po_user.tag_id_list_by_id(po.user_id)) id_list = user_tag_id_list[:] id_list.extend(tag_id_list) rss_po_id.tag_id_list = ' '.join(map(str, unique(id_list))) #for i in tag_id_list: # i.append_id_tag_id_list #print i.tag_id_list #raise rss_po_id.state = RSS_PO_ID_STATE_AUTOTAG rss_po_id.save() rss_po_new(po, user_tag_id_list)
def get(self, id): # data = { # "zsite":{ # "name":"w", # "unit":"xx", # "title":"zz" # }, # "name":"2011年第2次BPUG活动", # "id":1234, # "fav":True, # "reply_count":1, # "tag_id":232, # "tag_name":"sss" # } po = Po.mc_get(id) user = po.user result = [id] result.extend(feed_tuple_by_db(id)) result.pop() result.pop() result.append(po.htm) zsite = [user.name, user.link] zsite.extend(career_current(po.user_id)) result.append(zsite) self.finish(dumps(result))
def post(self, po_id=0): cid = CID_AUDIO name = self.get_argument("name", None) txt = self.get_argument("txt", None) link = "/feed" if po_id: po_id = int(po_id) po = Po.mc_get(po_id) if po and po.user_id == self.current_user_id: po.name_ = name po.txt_set(txt) po.save() link = "/po/tag/%s" % po_id else: audio = self._audio() if audio: user_id = self.current_user_id zsite_id = zsite_id_by_zsite_user_id(self.zsite, user_id) if zsite_id: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW else: state = STATE_ACTIVE po = po_audio_new(user_id, name, txt, audio, state, zsite_id=zsite_id) if po: po_id = po.id link = "/po/tag/%s" % po_id return self.redirect(link)
def post(self, po_id=0): cid = CID_PHOTO name = self.get_argument('name', None) txt = self.get_argument('txt', None) user_id = self.current_user_id link = '/feed' if po_id: po_id = int(po_id) po = Po.mc_get(po_id) if po and po.user_id == user_id: po.name_ = name po.txt_set(txt) po.save() link = '/po/tag/%s' % po_id else: img = self._img() if img: zsite_id = zsite_id_by_zsite_user_id(self.zsite, user_id) if zsite_id: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW else: state = STATE_ACTIVE po = po_photo_new(user_id, name, txt, img, state, zsite_id) if po: po_id = po.id link = '/po/tag/%s' % po_id return self.redirect(link)
def get(self, id): from model.rss import rss_link_by_po_id link = rss_link_by_po_id(id) if not link: po = Po.mc_get(id) link = po.link self.redirect(link, True)
def get(self, id): po = Po.mc_get(id) if po: link = po.link else: link = '/' self.redirect(link)
def get(self, id): next = self.request.headers.get('Referer', '') po = Po.mc_get(id) if po: self.render( po=po, next=next, )
def post(self, id): current_user_id = self.current_user_id rec_po = Po.mc_get(id) if rec_po and rec_po.cid == CID_REC and rec_po.user_id == current_user_id: name = self.get_argument('txt', '') rec_po.name_ = name rec_po.save() self.finish('{}')
def po(self, id): po = Po.mc_get(id) if po: if po.cid in PO_SHARE_FAV_CID and po.can_view(self.current_user_id): if po.user_id == self.zsite_id or not po.user_id: return po return self.redirect(po.link) return self.redirect('/')
def po(self, id): po = Po.mc_get(id) if po: self._po = po if po.user_id == self.zsite_id: return po return self.redirect(po.link) return self.redirect('/')
def post(self, id): current_user_id = self.current_user_id rec_po = Po.mc_get(id) if rec_po and rec_po.cid == CID_REC and rec_po.user_id == current_user_id: name = self.get_argument('txt', '') rec_po.name_ = name rec_po.save() self.finish('{}')
def _sync_site_po(begin_id): ss = SiteSync.where('id>%s', begin_id).order_by('id')[0] if ss: begin_id = ss.id zsite = Zsite.mc_get(ZSITE_BIND_FOR_SYNC) if zsite: po = Po.mc_get(ss.po_id) if po: sync_site_po(po, zsite) return begin_id
def post(self, id): po = Po.mc_get(id) name = self.get_argument('name', None) txt = self.get_argument('txt', None) if name: po.name_ = name po.save() if txt: po.txt_set(txt) self.redirect('/event')
def get(self, id): po = Po.mc_get(id) user_id = self.current_user_id result = [] if po and po.can_view(user_id): for reply in po.reply_list(): user = reply.user result.append((url_or_id(user.id), reply.htm, user.name)) return self.finish(dumps(result))
def post(self, id): po = Po.mc_get(id) name = self.get_argument('name', None) txt = self.get_argument('txt', None) if name: po.name_ = name po.save() if txt: po.txt_set(txt) self.redirect('/event')
def rank_update(po_id): up = vote_up_count(po_id) down = vote_down_count(po_id) po = Po.mc_get(po_id) _hot = hot(up, down, po.create_time) _confidence = confidence(up, down) for r in Rank.where(po_id=po_id): r.hot = _hot r.confidence = _confidence r.save() mc_flush_cid(r.to_id, r.cid)
def post(self, id): po = Po.mc_get(id) next = self.get_argument("next", "/po") name = self.get_argument("name", None) txt = self.get_argument("txt", None) if name: po.name_ = name po.save() if txt: po.txt_set(txt) self.redirect(next)
def rank_update(po_id): up = vote_up_count(po_id) down = vote_down_count(po_id) po = Po.mc_get(po_id) _hot = hot(up, down, po.create_time) _confidence = confidence(up, down) for r in Rank.where(po_id=po_id): r.hot = _hot r.confidence = _confidence r.save() mc_flush_cid(r.to_id, r.cid)
def _po(self, id): current_user = self.current_user current_user_id = self.current_user_id po = Po.mc_get(id) if not po: self.redirect('/') return if not po.can_admin(current_user_id): self.redirect(po.link) return return po
def post(self, id): po = Po.mc_get(id) next = self.get_argument("next", "/po") broad = self.get_argument("broad", None) site = self.get_argument("site", None) sync = self.get_argument("sync", None) if po: _edit(broad, sync, site, po, id) return self.redirect(next) self.render(po=po, next=next)
def _po(self, id): current_user = self.current_user current_user_id = self.current_user_id po = Po.mc_get(id) if not po: self.redirect('/') return if not po.can_admin(current_user_id): self.redirect(po.link) return return po
def get(self, id): po = Po.mc_get(id) current_user_id = self.current_user_id if po: link = po.link_reply pos, state = po_pos_get(current_user_id, id) if pos > 0: link = '%s#reply%s' % (link, pos) else: link = '/' self.redirect(link)
def reply_notice_mail(po_id, li): po = Po.mc_get(po_id) if not (po and po.zsite_id != po.user_id): return li = Zsite.mc_get_list(li) if not li: return pos, state = po_pos_get(po.user_id, po_id) #print pos if pos != -1: return zsite = Zsite.mc_get(po.user_id) if zsite and zsite.cid == CID_USER: mail = mail_by_user_id(po.user_id) if mail: li0 = li[0] name_list = [li0.name] name_list.extend(career_current(li0.id)) name_title = ' , '.join(filter(bool, name_list)) if len(li) > 1: subject = '%s人 回复 %s ( %s 等 )' % (len(li), po.name, name_title) else: subject = '%s 回复 %s' % (name_title, po.name) rendermail('/mail/notice/notice_reply.htm', mail, zsite.name, format='html', subject=subject, reply_list=li, po=po, zsite=zsite) mail = '*****@*****.**' rendermail('/mail/notice/notice_reply.htm', mail, zsite.name, format='html', subject=subject, reply_list=li, po=po, zsite=zsite)
def get(self, id): po = Po.mc_get(id) user_id = self.current_user_id result = [] if po and po.can_view(user_id): for reply in po.reply_list(): user = reply.user result.append( (url_or_id(user.id), reply.htm, user.name) ) return self.finish(dumps(result))
def buzz_po_reply_rm(po_id, reply_id): from po_pos import PoPos, STATE_BUZZ from model.po import Po po = Po.mc_get(po_id) if not po: return reply_id_last = po.reply_id_last if po and reply_id >= reply_id_last: for user_id in PoPos.where(po_id=po_id, state=STATE_BUZZ).where('pos>=%s', reply_id_last).col_list(col='user_id'): BuzzReply.where(po_id=po_id, user_id=user_id, state=BUZZ_REPLY_STATE_SHOW).update(state=BUZZ_REPLY_STATE_HIDE) mc_flush(user_id) buzz_at_reply_rm(reply_id)
def get(self): id = int(self.get_argument('id')) user_id = self.current_user_id r = reply.Reply.mc_get(id) can_admin = None if r: po = Po.mc_get(r.rid) if po: can_admin = r.can_admin(user_id) or po.can_admin(user_id) if can_admin: r.rm() self.finish({'status': can_admin})
def _po(self, user_id, id): self.po = po = Po.mc_get(id) if po: if po.can_admin(user_id): cid = po.cid self.cid = cid if cid == CID_WORD and po.rid == 0: return self.redirect(po.link) return po return self.redirect(po.link) return self.redirect('/')
def _po(self, user_id, id): self.po = po = Po.mc_get(id) if po: if po.can_admin(user_id): cid = po.cid self.cid = cid if cid == CID_WORD and po.rid == 0: return self.redirect(po.link) return po return self.redirect(po.link) return self.redirect('/')
def get(self): id = int(self.get_argument('id')) user_id = self.current_user_id r = reply.Reply.mc_get(id) can_admin = None if r: po = Po.mc_get(r.rid) if po: can_admin = r.can_admin(user_id) or po.can_admin(user_id) if can_admin: r.rm() self.finish({'status': can_admin})
def htm2po_by_po(pre): txt = pre.txt.rstrip() if not txt: return zsite = Zsite.mc_get(pre.user_id) if zsite.cid == CID_SITE: group_id = zsite.id else: group_id = pre.site_id rp = RssPoId.get(rss_po_id=pre.id) if rp: po = Po.mc_get(rp.po_id) if po: po.name_ = pre.title po.save() else: po = po_note_new(pre.user_id, pre.title, "", STATE_RM, group_id) if po and zsite.cid == CID_USER: po.rid = pre.rss_id po.save() if not po: return po_id = po.id if not rp: rss_po_id_new(zsite, pre.id, po_id) txt = txt_img_fetch(txt) po.txt_set(txt) if group_id: state = STATE_PO_ZSITE_SHOW_THEN_REVIEW else: state = STATE_ACTIVE po.state = state po.save() if po.zsite_id != po.user_id: zsite_tag_new_by_tag_id(po) if pre.state == RSS_RT_PO: po_show_new(po) mc_flush(po, po.zsite_id) return po
def post(self, id): po = Po.mc_get(id) next = self.get_argument('next', '/po') broad = self.get_argument('broad', None) site = self.get_argument('site', None) sync = self.get_argument('sync', None) if po: _edit(broad, sync, site, po, id) return self.redirect(next) self.render( po=po, next=next, )
def post(self, id): tag_id_list = self.get_argument('tag_id_list', '[]') #print 'dasdasddasdasd',tag_id_list tag_id_list = map(str,loads(tag_id_list)) user_id = self.current_user_id po = Po.mc_get(id) result = {} if po: po_tag_new_by_autocompelte(po, tag_id_list, admin_id=user_id) tag_list = tag_name_id_list_by_po_id(id) result['tag_list'] = tag_list self.finish(result)
def get(self): id = int(self.get_argument('id')) po = Po.mc_get(id) m = None if po: user = self.current_user if user_can_reply(user): user_id = self.current_user_id can_view = po.can_view(user_id) link = po.link_reply if can_view: txt = self.get_argument('txt', '') m = po.reply_new(user, txt, po.state) self.finish({'id': m})
def po_tag(user_id, po_id, title, txt, sync, tag_id_list, cid): #print id, title, txt, sync, tag_id_list, cid #pass from model.po import Po po = Po.mc_get(po_id) if po: po_tag_new_by_autocompelte(po, tag_id_list, cid) po.name_ = title po.save() po.txt_set(txt) if sync: po_show_new(po) rss_po_pop(user_id, po_id)
def po_tag(user_id, po_id, title, txt, sync, tag_id_list, cid): #print id, title, txt, sync, tag_id_list, cid #pass from model.po import Po po = Po.mc_get(po_id) if po: po_tag_new_by_autocompelte(po, tag_id_list, cid) po.name_ = title po.save() po.txt_set(txt) if sync: po_show_new(po) rss_po_pop(user_id, po_id)
def get(self): user_id = self.current_user_id po_id = int(self.get_argument('id')) po = Po.mc_get(po_id) itr = [] if po.user_id == user_id: for reply in po.reply_list(): re = {} re['id'] = reply.id re['user_id'] = reply.user.id re['user_name'] = reply.user.name re['txt'] = reply.txt re['timestamp'] = reply.create_time itr.append(re) self.finish({'items': itr})
def post(self, id): po = Po.mc_get(id) link = '/' if po: user = self.current_user if user_can_reply(user): user_id = self.current_user_id can_view = po.can_view(user_id) link = po.link_reply if can_view: txt = self.get_argument('txt', '') m = po.reply_new(user, txt, po.state) if m: link = '%s#reply%s' % (link, m) self.redirect(link)
def rec_read_po_rm_fix(): for i in redis.keys(REDIS_TAG_CID%('*','*')): tag_id = i[7:15] cid = int(i.split(":")[-1]) for j in redis.zrange(i, 0, -1): po = Po.mc_get(j) if po.state < STATE_ACTIVE: _tag_rm_by_user_id_list(po, po.user_id, [tag_id]) print "po_tag_rm_by_po(po)",tag_id, j for i in redis.keys(REDIS_REC_TAG_NEW%'*'): for j in redis.smembers(i): po = Po.mc_get(j) if po.state < STATE_ACTIVE: redis.srem(i, j) print po.link print i, j for i in redis.keys(REDIS_REC_TAG_OLD%'*'): for j in redis.zrange(i, 0, -1): po = Po.mc_get(j) if po.state < STATE_ACTIVE: print po.link redis.zrem(i, j) for i in redis.keys(REDIS_REC_USER_LOG%'*'): for j in redis.zrange(i, 0 , -1): po = Po.mc_get(j) if po.state < STATE_ACTIVE: print po.link redis.zrem(i, j) for i in redis.keys(REDIS_REC_USER_PO_TO_REC%('*','*')): print i redis.delete(i)
def get(self): id = int(self.get_argument('id')) po = Po.mc_get(id) m = None if po: user = self.current_user if user_can_reply(user): user_id = self.current_user_id can_view = po.can_view(user_id) link = po.link_reply if can_view: txt = self.get_argument('txt', '') m = po.reply_new(user, txt, po.state) self.finish({ 'id' : m })
def post(self, po_id): add = self.get_argument("add_spammer", None) del_all = self.get_argument("del_all", None) p = Po.mc_get(po_id) if p: user = p.user if user: user_id = user.id if add: spammer_new(user_id) if del_all: spammer_reset(user_id) po_rm(user_id, po_id) self.redirect("/po")
def post(self, po_id): add = self.get_argument('add_spammer', None) del_all = self.get_argument('del_all', None) p = Po.mc_get(po_id) if p: user = p.user if user: user_id = user.id if add: spammer_new(user_id) if del_all: spammer_reset(user_id) po_rm(user_id, po_id) self.redirect('/po')
def get(self): user_id = self.current_user_id po_id = int(self.get_argument('id')) po = Po.mc_get(po_id) itr = [] if po.user_id == user_id: for reply in po.reply_list(): re = {} re['id'] = reply.id re['user_id'] = reply.user.id re['user_name'] = reply.user.name re['txt'] = reply.txt re['timestamp'] = reply.create_time itr.append(re) self.finish({ 'items':itr })