コード例 #1
0
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
コード例 #2
0
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
コード例 #3
0
ファイル: po_question.py プロジェクト: xqk/42qu_github_mirror
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
コード例 #4
0
ファイル: po_product.py プロジェクト: xqk/42qu_github_mirror
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
コード例 #5
0
ファイル: po.py プロジェクト: xqk/42qu_github_mirror
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
コード例 #6
0
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
コード例 #7
0
ファイル: po_question.py プロジェクト: xqk/42qu_github_mirror
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
コード例 #8
0
ファイル: po.py プロジェクト: xqk/42qu_github_mirror
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
コード例 #9
0
    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
コード例 #10
0
    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