def po_product_new(user_id, name, _info_json, zsite_id=0, state=STATE_ACTIVE): if not name and not _info_json : return info_json = json.dumps(dict(iter(_info_json))) if not is_same_post(user_id, name, info_json, zsite_id): m = po_new(CID_PRODUCT, user_id, name, state, 0, None, zsite_id) if m: txt_new(m.id, info_json) mc_product_id_list_by_com_id.delete(zsite_id) return m
def _po_answer_new(user_id, name, txt, state, rid): if not name and not txt: return if not is_same_post(user_id, name, txt): m = po_new(CID_ANSWER, user_id, name, state, rid) if m: txt_new(m.id, txt) if state > STATE_SECRET: m.feed_new() return m
def po_product_new(user_id, name, _info_json, zsite_id=0, state=STATE_ACTIVE): if not name and not _info_json: return info_json = json.dumps(dict(iter(_info_json))) if not is_same_post(user_id, name, info_json, zsite_id): m = po_new(CID_PRODUCT, user_id, name, state, 0, None, zsite_id) if m: txt_new(m.id, info_json) mc_product_id_list_by_com_id.delete(zsite_id) return m
def po_note_new(user_id, name, txt, state=STATE_ACTIVE, zsite_id=0): if not name and not txt: return name = name or time_title() if not is_same_post(user_id, name, txt, zsite_id): m = po_new(CID_NOTE, user_id, name, state, zsite_id=zsite_id) if m: m.txt_set(txt) if state > STATE_SECRET: m.feed_new() return m
def po_question_new(user_id, name, txt, state, zsite_id): if not name and not txt: return name = name or time_title() if not is_same_post(user_id, name, txt, zsite_id): m = po_new(CID_QUESTION, user_id, name, state, zsite_id=zsite_id) if m: txt_new(m.id, txt) if state > STATE_SECRET: m.feed_new() return m
def po_word_new(user_id, name, state=None, rid=0, zsite_id=0): _is_same_post = is_same_post(user_id, name, zsite_id) #print _is_same_post, '_is_same_post', name if name and not _is_same_post: name = url_short_txt(name, user_id) m = po_new(CID_WORD, user_id, name, state, rid, zsite_id=zsite_id) if m and (state is None or state > STATE_SECRET): m.feed_new() if m: mq_buzz_at_new(user_id, name, m.id) return m
def reply_new(self, user, txt, state=STATE_ACTIVE, create_time=None): from zsite import user_can_reply user_id = user.id cid = self.cid if cid not in (CID_SITE, CID_COM): if not user_can_reply(user): return if is_spammer(user_id): return txt = txt.rstrip() rid = self.id if not txt or is_same_post(user_id, cid, rid, txt, state): return id = gid() if not create_time: create_time = int(time()) txt_new(id, txt) cursor = self.reply_cursor cursor.execute( 'insert into reply (id,cid,create_time,state,rid,user_id) values (%s,%s,%s,%%s,%%s,%%s)' % ( id, cid, create_time, ), (state, rid, user_id) ) cursor.connection.commit() mc_flush_reply_id_list(cid, rid) # key = '%s_%s' % (rid, user_id) # if mc_reply_in_1h.get(key) is None: # mq_buzz_po_reply_new(user_id, rid) # mc_reply_in_1h.set(key, True, 3600) return id
def reply_new(self, user, txt, state=STATE_ACTIVE, create_time=None): from zsite import user_can_reply user_id = user.id cid = self.cid if cid not in (CID_SITE, CID_COM): if not user_can_reply(user): return if is_spammer(user_id): return txt = txt.rstrip() rid = self.id if not txt or is_same_post(user_id, cid, rid, txt, state): return id = gid() if not create_time: create_time = int(time()) txt_new(id, txt) cursor = self.reply_cursor cursor.execute( 'insert into reply (id,cid,create_time,state,rid,user_id) values (%s,%s,%s,%%s,%%s,%%s)' % ( id, cid, create_time, ), (state, rid, user_id)) cursor.connection.commit() mc_flush_reply_id_list(cid, rid) # key = '%s_%s' % (rid, user_id) # if mc_reply_in_1h.get(key) is None: # mq_buzz_po_reply_new(user_id, rid) # mc_reply_in_1h.set(key, True, 3600) return id