Beispiel #1
0
 def test_get_tag_uri(self):
     """
     Test get_tag_uri() correctly generates TagURIs.
     """
     self.assertEqual(
         feedgenerator.get_tag_uri('http://example.org/foo/bar#headline', datetime.date(2004, 10, 25)),
         u'tag:example.org,2004-10-25:/foo/bar/headline')
Beispiel #2
0
    def _add_item_to_the_feed(self, feed, item):

        title = Markup(item.title).striptags()
        link = '%s/%s' % (self.site_url, item.url)
        appendContent = ""
        appendTitle = ""
        if hasattr(item,"link") and feed.feed['link_blog']:
            appendContent = '<p><a href="%s">%s</a></p>' % (link, '&infin;')
            appendTitle = " &#8594;"
            link = item.link
        is_rss = isinstance(feed, Rss201rev2Feed)
        if not is_rss or self.settings.get('RSS_FEED_SUMMARY_ONLY'):
            description = item.summary
        else:
            description = item.get_content(self.site_url)
        feed.add_item(
            title=title + appendTitle,
            link=link,
            unique_id=get_tag_uri(link, item.date),
            description=description + appendContent,
            content=item.get_content(self.site_url),
            categories=item.tags if hasattr(item, 'tags') else None,
            author_name=getattr(item, 'author', ''),
            pubdate=set_date_tzinfo(
                item.date, self.settings.get('TIMEZONE', None)),
            updateddate=set_date_tzinfo(
                item.modified, self.settings.get('TIMEZONE', None)
                ) if hasattr(item, 'modified') else None)
    def _add_item_to_the_feed(self, feed, item):
        """Performs an 'in-place' update of existing 'published' articles
		in ``feed`` by creating a new entry using the contents from the
		``item`` being passed.
		This method is invoked by pelican's core.

		:param feed: A Feed instance.
		:param item: An article (pelican's Article object).

		"""
        title = Markup(item.title).striptags()
        link = '%s/%s' % (self.site_url, item.url)
        appendContent = ""
        appendTitle = ""

        if hasattr(item, "link"):
            appendContent = '<p><a href="%s">%s</a></p>' % (
                link, self.settings.get('LINK_BLOG_PERMALINK_GLYPH',
                                        '&infin;'))
            appendTitle = self.settings.get('LINK_BLOG_APPEND_TITLE', '')
            link = item.link

        feed.add_item(
            title=title + appendTitle,
            link=link,
            unique_id=get_tag_uri(link, item.date),
            description=item.get_content(self.site_url) + appendContent,
            categories=item.tags if hasattr(item, 'tags') else None,
            author_name=getattr(item, 'author', ''),
            pubdate=set_date_tzinfo(
                item.modified if hasattr(item, 'modified') else item.date,
                self.settings.get('TIMEZONE', None)))
Beispiel #4
0
 def test_get_tag_uri(self):
     """
     Test get_tag_uri() correctly generates TagURIs.
     """
     self.assertEqual(
         feedgenerator.get_tag_uri('http://example.org/foo/bar#headline',
                                   datetime.date(2004, 10, 25)),
         u'tag:example.org,2004-10-25:/foo/bar/headline')
Beispiel #5
0
 def test_get_tag_uri_with_port(self):
     """
     Test that get_tag_uri() correctly generates TagURIs from URLs with port
     numbers.
     """
     self.assertEqual(
         feedgenerator.get_tag_uri('http://www.example.org:8000/2008/11/14/django#headline', datetime.datetime(2008, 11, 14, 13, 37, 0)),
         u'tag:www.example.org,2008-11-14:/2008/11/14/django/headline')
Beispiel #6
0
 def test_get_tag_uri_with_port(self):
     """
     Test that get_tag_uri() correctly generates TagURIs from URLs with port
     numbers.
     """
     self.assertEqual(
         feedgenerator.get_tag_uri(
             'http://www.example.org:8000/2008/11/14/django#headline',
             datetime.datetime(2008, 11, 14, 13, 37, 0)),
         u'tag:www.example.org,2008-11-14:/2008/11/14/django/headline')
Beispiel #7
0
    def _add_item_to_the_feed(self, feed, item):

        title = Markup(item.title).striptags()
        link = '%s/%s' % (self.site_url, item.url)
        feed.add_item(title=title,
                      link=link,
                      unique_id=get_tag_uri(link, item.date),
                      description=item.get_content(self.site_url),
                      categories=item.tags if hasattr(item, 'tags') else None,
                      author_name=getattr(item, 'author', ''),
                      pubdate=set_date_tzinfo(
                          item.date, self.settings.get('TIMEZONE', None)),
                      updateddate=set_date_tzinfo(
                          item.modified, self.settings.get('TIMEZONE', None))
                      if hasattr(item, 'modified') else None)
Beispiel #8
0
    def _add_item_to_the_feed(self, feed, item):

        title = Markup(item.title).striptags()
        link = '%s/%s' % (self.site_url, item.url)
        feed.add_item(
            title=title,
            link=link,
            unique_id=get_tag_uri(link, item.date),
            description=item.get_content(self.site_url),
            categories=item.tags if hasattr(item, 'tags') else None,
            author_name=getattr(item, 'author', ''),
            pubdate=set_date_tzinfo(
                item.date, self.settings.get('TIMEZONE', None)),
            updateddate=set_date_tzinfo(
                item.modified, self.settings.get('TIMEZONE', None)
                ) if hasattr(item, 'modified') else None)
Beispiel #9
0
    def _add_item_to_the_feed(self, feed, item):
        title = Markup(item.title).striptags()
        link = self.urljoiner(self.site_url, item.url)

        if isinstance(feed, Rss201rev2Feed):
            # RSS feeds use a single tag called 'description' for both the full
            # content and the summary
            content = None
            if self.settings.get('RSS_FEED_SUMMARY_ONLY'):
                description = item.summary
            else:
                description = item.get_content(self.site_url)

        else:
            # Atom feeds have two different tags for full content (called
            # 'content' by feedgenerator) and summary (called 'description' by
            # feedgenerator).
            #
            # It does not make sense to have the summary be the
            # exact same thing as the full content. If we detect that
            # they are we just remove the summary.
            content = item.get_content(self.site_url)
            description = item.summary
            if description == content:
                description = None

        categories = list()
        if hasattr(item, 'category'):
            categories.append(item.category)
        if hasattr(item, 'tags'):
            categories.extend(item.tags)

        feed.add_item(
            title=title,
            link=link,
            unique_id=get_tag_uri(link, item.date),
            description=description,
            content=content,
            categories=categories if categories else None,
            author_name=getattr(item, 'author', ''),
            pubdate=set_date_tzinfo(
                item.date, self.settings.get('TIMEZONE', None)),
            updateddate=set_date_tzinfo(
                item.modified, self.settings.get('TIMEZONE', None)
                ) if hasattr(item, 'modified') else None)
Beispiel #10
0
 def _add_item_to_the_feed(self, feed, item):
     title = Markup(item.title).striptags()
     link = self.urljoiner(self.site_url, item.url)
     is_rss = isinstance(feed, Rss201rev2Feed)
     if not is_rss or self.settings.get('RSS_FEED_SUMMARY_ONLY'):
         description = item.summary
     else:
         description = item.get_content(self.site_url)
     feed.add_item(title=title,
                   link=link,
                   unique_id=get_tag_uri(link, item.date),
                   description=description,
                   content=item.get_content(self.site_url),
                   categories=item.tags if hasattr(item, 'tags') else None,
                   author_name=getattr(item, 'author', ''),
                   pubdate=set_date_tzinfo(
                       item.date, self.settings.get('TIMEZONE', None)),
                   updateddate=set_date_tzinfo(
                       item.modified, self.settings.get('TIMEZONE', None))
                   if hasattr(item, 'modified') else None)
Beispiel #11
0
 def _add_item_to_the_feed(self, feed, item):
     title = Markup(item.title).striptags()
     link = self.urljoiner(self.site_url, item.url)
     is_rss = isinstance(feed, Rss201rev2Feed)
     if not is_rss or self.settings.get('RSS_FEED_SUMMARY_ONLY'):
         description = item.summary
     else:
         description = item.get_content(self.site_url)
     feed.add_item(
         title=title,
         link=link,
         unique_id=get_tag_uri(link, item.date),
         description=description,
         content=item.get_content(self.site_url),
         categories=item.tags if hasattr(item, 'tags') else None,
         author_name=getattr(item, 'author', ''),
         pubdate=set_date_tzinfo(
             item.date, self.settings.get('TIMEZONE', None)),
         updateddate=set_date_tzinfo(
             item.modified, self.settings.get('TIMEZONE', None)
             ) if hasattr(item, 'modified') else None)
Beispiel #12
0
    def _add_item_to_the_feed(self, feed, item):
        title = Markup(item.title).striptags()
        link = self.urljoiner(self.site_url, item.url)

        if isinstance(feed, Rss201rev2Feed):
            # RSS feeds use a single tag called 'description' for both the full
            # content and the summary
            content = None
            if self.settings.get('RSS_FEED_SUMMARY_ONLY'):
                description = item.summary
            else:
                description = item.get_content(self.site_url)

        else:
            # Atom feeds have two different tags for full content (called
            # 'content' by feedgenerator) and summary (called 'description' by
            # feedgenerator).
            #
            # It does not make sense to have the summary be the
            # exact same thing as the full content. If we detect that
            # they are we just remove the summary.
            content = item.get_content(self.site_url)
            description = item.summary
            if description == content:
                description = None

        feed.add_item(
            title=title,
            link=link,
            unique_id=get_tag_uri(link, item.date),
            description=description,
            content=content,
            categories=item.tags if hasattr(item, 'tags') else None,
            author_name=getattr(item, 'author', ''),
            pubdate=set_date_tzinfo(
                item.date, self.settings.get('TIMEZONE', None)),
            updateddate=set_date_tzinfo(
                item.modified, self.settings.get('TIMEZONE', None)
                ) if hasattr(item, 'modified') else None)