def feed_new(feed):
    txt = txt_img_fetch(feed.txt)
    zsite_id = feed.zsite_id
    feed_user = user_by_feed_id_zsite_id(zsite_id, feed.rid)
    if feed_user:
        user_id = feed_user.user_id
    else:
        user_id = 0
    id = feed.id

    if user_id:
        feed_import_user_rm(user_id, id)

    zsite_id = feed.zsite_id

    is_without_author = (
        (feed.state == FEED_IMPORT_STATE_REVIEWED_WITHOUT_AUTHOR_SYNC)
        or
        (feed.state == FEED_IMPORT_STATE_REVIEWED_WITHOUT_AUTHOR)
    )

    if is_without_author:
        user_id = 0
        zsite_id = 0

    title = title_normal(feed.title)
    po = po_note_new(user_id, title, txt, zsite_id=zsite_id)

    if po:
        if not feed_user:
            feed_user_id = 0
        else:
            feed_user_id = feed_user.id

        record = PoMeta.get_or_create(id=po.id)
        record.user_id = feed_user_id
        record.url_id = url_short_id(feed.url)

        record.save()

        if not is_without_author:
            po.rid = record.id
            po.save()

        if feed.state >= FEED_IMPORT_STATE_REVIEWED_SYNC:
            site_sync_new(po.id)

        feed.state = FEED_IMPORT_STATE_POED
        feed.save()

        cid = feed.cid

        po_tag_id_list_new(po, feed.tag_id_list.split(' '), cid)
Esempio n. 2
0
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
Esempio n. 3
0
def feed_new(feed):
    txt = txt_img_fetch(feed.txt)
    zsite_id = feed.zsite_id
    feed_user = user_by_feed_id_zsite_id(zsite_id, feed.rid)
    if feed_user:
        user_id = feed_user.user_id
    else:
        user_id = 0
    id = feed.id

    if user_id:
        feed_import_user_rm(user_id, id)

    zsite_id = feed.zsite_id

    is_without_author = (
        (feed.state == FEED_IMPORT_STATE_REVIEWED_WITHOUT_AUTHOR_SYNC)
        or (feed.state == FEED_IMPORT_STATE_REVIEWED_WITHOUT_AUTHOR))

    if is_without_author:
        user_id = 0
        zsite_id = 0

    title = title_normal(feed.title)
    po = po_note_new(user_id, title, txt, zsite_id=zsite_id)

    if po:
        if not feed_user:
            feed_user_id = 0
        else:
            feed_user_id = feed_user.id

        record = PoMeta.get_or_create(id=po.id)
        record.user_id = feed_user_id
        record.url_id = url_short_id(feed.url)

        record.save()

        if not is_without_author:
            po.rid = record.id
            po.save()

        if feed.state >= FEED_IMPORT_STATE_REVIEWED_SYNC:
            site_sync_new(po.id)

        feed.state = FEED_IMPORT_STATE_POED
        feed.save()

        cid = feed.cid

        po_tag_id_list_new(po, feed.tag_id_list.split(' '), cid)