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')
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, '∞') appendTitle = " →" 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', '∞')) 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)))
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')
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')
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)
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)
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)
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)
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)
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)