def notice_question_mail(notice): from_id = notice.from_id to_id = notice.to_id rid = notice.rid mail = mail_by_user_id(to_id) name = Zsite.mc_get(to_id).name from_name = Zsite.mc_get(from_id).name question = Po.mc_get(rid) rendermail('/mail/notice/notice_question.txt', mail, name, entry=question, from_name=from_name, notice=notice, )
def pay_notice(pay_id): from notice import notice_new trade = Trade.get(pay_id) notice_new(trade.from_id, trade.to_id, CID_NOTICE_PAY, pay_id) t_log = (trade_log.get(pay_id)) if t_log: message = loads(t_log) if 'txt' in message: if 'secret' in message: state = STATE_SECRET else: state = STATE_ACTIVE to_user = Zsite.mc_get(trade.to_id) from_user = Zsite.mc_get(trade.from_id) to_user.reply_new(from_user, message['txt'], state)
def render_feed_list(id_list, zsite_id, rt_dict): fav_dict = fav_cid_dict(zsite_id, id_list) r = [] for id, i in zip(id_list, feed_tuple_list(id_list)): out = [] if id in rt_dict: for v in rt_dict[id]: entry = [] if v[2] > 0: zsite = Zsite.mc_get(v[2]) _name = zsite.name _link = zsite.link _user_id = v[2] else: _name = '1' _link = '1' _user_id = v[2] entry.extend([_name, _link, _user_id, v]) out.append(entry) result = [ i[0], id, out, fav_dict[id], ] result.extend(i[1:]) r.append(result) return r
def render_feed_list(id_list, zsite_id, rt_dict) : fav_dict = fav_cid_dict(zsite_id, id_list) r = [] for id, i in zip(id_list, feed_tuple_list(id_list)): out = [] if id in rt_dict: for v in rt_dict[id]: entry = [] if v[2]>0: zsite = Zsite.mc_get(v[2]) _name = zsite.name _link = zsite.link _user_id = v[2] else: _name = '1' _link = '1' _user_id = v[2] entry.extend([_name,_link, _user_id,v]) out.append(entry) result = [ i[0], id, out, fav_dict[id], ] result.extend(i[1:]) r.append(result) return r
def event_end_mail(event): event_id = event.id owner_id = event.zsite_id owner = event.zsite po = Po.mc_get(event_id) rendermail('/mail/event/event_end_owner.txt', mail_by_user_id(owner_id), owner.name, title=po.name, link=po.link, user_link=owner.link, price=event.price, feedback_link='/event/feedback/%s' % event_id) sleep(0.1) for user_id in event_joiner_user_id_list(event_id): if user_id != owner_id: user = Zsite.mc_get(user_id) rendermail('/mail/event/event_end_joiner.txt', mail_by_user_id(user_id), user.name, title=po.name, link=po.link, user_link=user.link, feedback_link='/event/feedback/%s' % event_id) sleep(0.1)
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 event_end_mail(event): event_id = event.id owner_id = event.zsite_id owner = event.zsite po = Po.mc_get(event_id) rendermail( '/mail/event/event_end_owner.txt', mail_by_user_id(owner_id), owner.name, title=po.name, link=po.link, user_link=owner.link, price=event.price, feedback_link='/event/feedback/%s' % event_id ) sleep(0.1) for user_id in event_joiner_user_id_list(event_id): if user_id != owner_id: user = Zsite.mc_get(user_id) rendermail( '/mail/event/event_end_joiner.txt', mail_by_user_id(user_id), user.name, title=po.name, link=po.link, user_link=user.link, feedback_link='/event/feedback/%s' % event_id ) sleep(0.1)
def user_dict(user_id): user = Zsite.mc_get(user_id) unit, title = user.career d = dict(id=user_id, name=user.name, unit=unit, title=title) ico_url = user._ico96 if ico_url: d['ico_url'] = ico_url return d
def zsite_by_domain(domain): from zsite import Zsite if domain.endswith(SITE_DOMAIN_SUFFIX): domain = domain[:-len(SITE_DOMAIN_SUFFIX)] if domain.isdigit(): zsite_id = domain else: zsite_id = id_by_url(domain.lower()) return Zsite.mc_get(zsite_id)
def notice_mail_day(to_id, li): from user_mail import mail_by_user_id to_user = Zsite.mc_get(to_id) name = to_user.name mail = mail_by_user_id(to_id) count = len(li) li_wall = [] _li_wall_reply = defaultdict(list) for from_id, cid, rid in li: from_user = Zsite.mc_get(from_id) if cid == CID_NOTICE_WALL: li_wall.append(from_user) elif cid == CID_NOTICE_WALL_REPLY: o = Wall.mc_get(rid) _li_wall_reply[rid].append(from_user) li_wall_reply = {} for rid, from_list in _li_wall_reply.iteritems(): o = Wall.mc_get(rid) li_wall_reply[o] = from_list if li_wall or li_wall_reply: subject = render_template( '/mail/notice/day_total.txt', count=count, li_wall=li_wall, li_wall_reply=li_wall_reply, ) rendermail( '/mail/notice/day_total.htm', mail, name, to_user=to_user, li_wall=li_wall, li_wall_reply=li_wall_reply, format='html', subject=subject, )
def notice_event_kill_mail(user_id, title, link, txt, notice_link): name = Zsite.mc_get(user_id).name mail = mail_by_user_id(user_id) rendermail('/mail/event/event_notice.txt', mail, name, title=title, link=link, txt=txt, notice_link=notice_link, )
def follow_rm(from_id, to_id): id = follow_get(from_id, to_id) if not id: return follow_cursor.execute( 'delete from follow where id=%s', id ) to = Zsite.mc_get(to_id) mc_flush(from_id, to_id, to.cid) return True
def pay_account_name_get(user_id, cid): a = PayAccount.get(user_id=user_id, cid=cid) account = None name = None if a: account = a.account name = a.name if not account: account = mail_by_user_id(user_id) if not name: name = Zsite.mc_get(user_id).name return account, name
def notice_event_join_yes(from_id, to_id, event_id): n = notice_new(from_id, to_id, CID_NOTICE_EVENT_JOIN_YES, event_id) mail = mail_by_user_id(to_id) zsite = Zsite.mc_get(to_id) po = Po.mc_get(event_id) title = po.name link = po.link mq_rendermail('/mail/event/event_join_yes.txt', mail, zsite.name, link=link, title=title ) return n
def notice_event_join_no(from_id, to_id, event_id, txt): cid = CID_NOTICE_EVENT_JOIN_NO n = notice_new(from_id, to_id, cid, event_id, txt=txt) mc_notice_last_id_by_zsite_id_cid.set('%s_%s' % (from_id, cid), n.id) mail = mail_by_user_id(to_id) zsite = Zsite.mc_get(to_id) po = Po.mc_get(event_id) title = po.name link = po.link mq_rendermail('/mail/event/event_join_no.txt', mail, zsite.name, link=link, title=title, reason=txt ) return n
def notice_event_notice(from_id, event_id, po_id): from event import event_joiner_user_id_list po = Po.mc_get(event_id) title = po.name link = po.link notice_po = Po.mc_get(po_id) txt = notice_po.name notice_link = notice_po.link for user_id in event_joiner_user_id_list(event_id): notice_new(from_id, user_id, CID_NOTICE_EVENT_NOTICE, po_id) name = Zsite.mc_get(user_id).name mail = mail_by_user_id(user_id) rendermail('/mail/event/event_notice.txt', mail, name, title=title, link=link, txt=txt, notice_link=notice_link, )
def event_ready(event): join_count = event.join_count po = event.po link = 'http:%s' % po.link title = po.name begin_time = date_time_by_minute(event.begin_time) user_id_list = event_joiner_user_id_list(event.id) user_id_list.append(event.zsite_id) for user_id in user_id_list: rendermail( '/mail/event/event_ready.txt', mail_by_user_id(user_id), Zsite.mc_get(user_id).name, link=link, title=title, begin_time=begin_time, join_count=join_count, ) sleep(0.1)
def name_htm(self): q = self.target cid = self.cid if cid in (CID_EVENT_NOTICE, CID_REVIEW): return txt_withlink(self.name_) if q: u = q.user link = '<a href="%s">%s</a>' % (q.link, escape(q.name)) if cid == CID_EVENT_FEEDBACK: if q.user_id == self.user_id: name = '总结 : %s' else: name = '评价 : %s' return name%link elif cid == CID_REC: pre_po_zsite = Zsite.mc_get(q.user_id) if pre_po_zsite: if q.cid != CID_WORD: name = '推荐 <a href="%s" >%s</a> ~ <a href="%s">%s</a>' % (q.link, escape(q.name), pre_po_zsite.link, escape(pre_po_zsite.name), ) else: name = '推荐 <a href="%s" class="fcmname c0 TPH" >%s</a> : %s <a class="zsite_reply" href="%s" target="_blank"></a>'%( pre_po_zsite.link, escape(pre_po_zsite.name), escape(q.name), q.link ) else: name = '推荐 <a href="%s" >%s</a>' % (q.link, escape(q.name)) return name else: if q.user_id == self.user_id: return '自问自答 : %s' % link else: return '答 <a href="%s">%s</a> 问 : %s' % ( u.link, escape(u.name), link ) if cid == CID_WORD: return txt_withlink(self.name) return escape(self.name)
def _follow_new(from_id, to_id): if follow_get(from_id, to_id): return True if from_id == to_id: return to = Zsite.mc_get(to_id) if not to: return if follow_get(from_id, to_id): return cid = to.cid id = gid() follow_cursor.execute( 'insert into follow (id, from_id, to_id, cid) values (%s,%s,%s,%s)', (id, from_id, to_id, cid) ) follow_cursor.connection.commit() mc_flush(from_id, to_id, cid) if cid == CID_USER: from model.autocomplete_user import autocomplete_user autocomplete_user.rank_update( to_id, follow_count_by_to_id(to_id) ) return True
def user_new_by_mail(mail, password=None, name=None): if not name: name = mail.split('@', 1)[0].split('+', 1)[0] if name.isdigit(): name = '' if password: state = ZSITE_STATE_APPLY else: state = ZSITE_STATE_NO_PASSWORD zsite = zsite_new_user(name, state) user_id = zsite.id user_mail_new(user_id, mail) if password: user_password_new(user_id, password) from buzz_sys import buzz_sys_new_user buzz_sys_new_user(user_id) return zsite def newbie_redirect(user): if user.state == ZSITE_STATE_NO_PASSWORD: return '/i/guide' if __name__ == '__main__': z = Zsite.mc_get(10001299) print z.sex, '!' print user_password_sha256(1)
from zsite_com import ZsiteCom from cid import CID_COM from zsite_show import zsite_show_list from zsite_member import zsite_member_admin_list from user_mail import mail_by_user_id #job_type_set(25, [2,3225]) com0, com1, com2, com3 = set(), set(), set(), set() for i in ComJob.where(): com0.add(i.com_id) com3 = set([i.id for i in zsite_show_list(CID_COM)]) #print com3 for i in Zsite.where(cid=CID_COM): com1.add(i.id) for i in ZsiteCom.where('video_id != %s', 0): com2.add(i.id) for i in com1 - com3: c = ZsiteCom.mc_get(i) z = Zsite.mc_get(i) print '---------' print '公司名:', z.name, print 'http:%s' % z.link print '公司愿望:', c.hope print '公司钱:', c.money, print '公司文化:', c.culture, print '公司团队:', c.team, print '公司视频:', c.video_id, print '公司电话:', c.phone #print len(com0-com2-com3) #print';'.join( [mail_by_user_id(zsite_member_admin_list(i)[0].id) for i in com0-com2-com3]) #print len(com0), len(com1), len(com2), len(com3), len(com0-com2-com3)
def user(self): if self.user_id: return Zsite.mc_get(self.user_id)
def zsite(self): return Zsite.mc_get(self.zsite_id)
link_cid.append((cid, cid_name_dict[cid], '')) return link_list, link_cid if __name__ == '__main__': from cid import CID_USER from user_mail import mail_by_user_id from zsite import Zsite link = [] sites = {} for zs in ZsiteLink.where(cid=0): link.extend([zs.zsite_id]) sites[zs.link.rstrip('/')] = zs.zsite_id print len(link) link = filter(lambda x:Zsite.mc_get(x).cid == CID_USER,link) print len(link) s = """ http://zerolabrary.appspot.com http://www.dongwm.com http://stonelee.info http://blog.chen-yuan.me http://www.cnxct.com http://blog.sina.com.cn/ggsddunet http://www.91python.com http://blog.linjunhalida.com http://bss.appspot.com http://www.imchao.net http://blog.timger.info http://heroicyang.com http://www.felizin.com
from zsite_com import ZsiteCom from cid import CID_COM from zsite_show import zsite_show_list from zsite_member import zsite_member_admin_list from user_mail import mail_by_user_id #job_type_set(25, [2,3225]) com0, com1, com2, com3 = set(), set(), set(), set() for i in ComJob.where(): com0.add(i.com_id) com3 = set([i.id for i in zsite_show_list(CID_COM)]) #print com3 for i in Zsite.where(cid=CID_COM): com1.add(i.id) for i in ZsiteCom.where('video_id != %s', 0): com2.add(i.id) for i in com1-com3: c = ZsiteCom.mc_get(i) z = Zsite.mc_get(i) print '---------' print '公司名:',z.name, print 'http:%s'%z.link print '公司愿望:',c.hope print '公司钱:',c.money, print '公司文化:',c.culture, print '公司团队:',c.team, print '公司视频:',c.video_id, print '公司电话:',c.phone #print len(com0-com2-com3) #print';'.join( [mail_by_user_id(zsite_member_admin_list(i)[0].id) for i in com0-com2-com3]) #print len(com0), len(com1), len(com2), len(com3), len(com0-com2-com3)
return link_list, link_cid if __name__ == '__main__': from cid import CID_USER from user_mail import mail_by_user_id from zsite import Zsite link = [] sites = {} for zs in ZsiteLink.where(cid=0): link.extend([zs.zsite_id]) sites[zs.link.rstrip('/')] = zs.zsite_id print len(link) link = filter(lambda x: Zsite.mc_get(x).cid == CID_USER, link) print len(link) s = """ http://zerolabrary.appspot.com http://www.dongwm.com http://stonelee.info http://blog.chen-yuan.me http://www.cnxct.com http://blog.sina.com.cn/ggsddunet http://www.91python.com http://blog.linjunhalida.com http://bss.appspot.com http://www.imchao.net http://blog.timger.info http://heroicyang.com http://www.felizin.com