Permalink
Fetching contributors…
Cannot retrieve contributors at this time
116 lines (71 sloc) 3.66 KB

Exporting Comments as WXR

The WXR feed is an XML document that contains the item upon which people commented as well as the comments. The Disqus WXR feed is a superset of the the typical RSS feed, and therefore works very much like a typical Django syndication feed.

Create a ContribCommentsWxrFeed Subclass

ContribCommentsWxrFeed exports django.contrib.comments for a set of items. This example exports comments to entries of a fictional blogging app.

from disqus.wxr_feed import ContribCommentsWxrFeed
from coolblog.models import Entry

class EntryWxrFeed(ContribCommentsWxrFeed):
    link = "/"

    def items(self):
        return Entry.objects.all()

    def item_pubdate(self, item):
        return item.pub_date

    def item_description(self, item):
        return item.content

All WxrFeed Attributes

For a full explanation of how you can define these attributes, see Django's syndication documentation.

title_template or item_title

If title_template exists, the template is rendered with obj and site in the context, otherwise item_title is used.

This attribute becomes the <title> element.

description_template or item_description

If description_template exists, the template is rendered with obj and site in the context, otherwise item_description is used.

This attribute becomes the <content:encoded> element.

item_pubdate

When the item was published.

The attribute becomes the <wp:post_date_gmt> element.

item_guid

A unique identifier for this item. By default it is the item's content type name and the item's id, separated by an underscore (_). This allows for exporting comments on several different things without id collisions.

This attribute becomes the <dsq:thread_identifier> element.

item_comment_status

Can people comment on this item? One of either open or closed.

This attribute becomes the <wp:comment_status> element.

item_comments
Return a list of comments for the given item. All comment attributes are mapped based on the attributes below.
comment_id

The unique identifier for this comment.

This attribute becomes the <wp:comment_id> element.

comment_user_id

The unique identifier for the commenting user.

This attribute becomes the <dsq:id> element.

comment_avatar

The url to the commenting user's avatar

This attribute becomes the <dsq:avatar> element.

comment_user_name

The name of the commenting user.

This attribute becomes the <wp:comment_author> element.

comment_user_email

The email of the commenting user.

This attribute becomes the <wp:comment_author_email> element.

comment_user_url

The commenting user's URL.

This attribute becomes the <wp:comment_author_url> element.

comment_ip_address

The commenting user's IP address.

This attribute becomes the <wp:comment_author_IP> element.

comment_submit_date

The date and time when the comment was submitted.

This attribute becomes the <wp:comment_date_gmt> element.

comment_comment

The text of the content

This attribute becomes the <wp:comment_content> element.

comment_is_approved

The site moderators have approved this comment for public display. 1 for yes, and 0 for no.

This attribute becomes the <wp:comment_approved> element.

comment_parent

The id of the comment in which this comment is responding.

This attribute becomes the <wp:comment_parent> element.