RSS Listing is a content type, which displays an RSS feed in the same way as the default RSS Portlet does.
Public resources
RSS Listing installs a public resource ++resource++jyu.rsslisting.images/rsslisting_icon.gif for its content type icon:
>>> from Products.Five.testbrowser import Browser >>> browser = Browser(); portal_url = self.portal.absolute_url() >>> browser.open(portal_url + "/++resource++jyu.rsslisting.images/rsslisting_icon.gif")
and ++resource++jyu.rsslisting.styles/rsslisting.css for its stylesheet:
>>> browser.open(portal_url + "/++resource++jyu.rsslisting.styles/rsslisting.css")
Creating content
By default, adding RSS Listing is not allowed globally. Let’s allow it to make it easier to test:
>>> from Products.CMFCore.utils import getToolByName
>>> portal_types = getToolByName(self.portal, "portal_types")
>>> rss_listing = portal_types.get("RSS Listing")
>>> rss_listing
<DynamicViewTypeInformation at /plone/portal_types/RSS Listing>
>>> rss_listing.global_allow = True
>>> rss_listing.global_allow
True
Now RSS Listing is addable by any contributor. Let’s
open the front page:
>>> browser.open(portal_url)
enter the log in details:
>>> browser.getControl(name='__ac_name').value = 'contributor' >>> browser.getControl(name='__ac_password').value = 'secret'
and log in:
>>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True
Now we should be able to see RSS Listing in the add item menu:
>>> browser.getLink(id='rss-listing').url.endswith("createObject?type_name=RSS+Listing")
True
To add a single RSS Listing
click it from the add item menu:
>>> browser.getLink(id='rss-listing').click()
enter RSS information:
>>> browser.getControl(name='title').value = "Slashdot" >>> browser.getControl(name='description').value = "Yesterday's news!" >>> browser.getControl(name='url').value = "http://rss.slashdot.org/Slashdot/slashdot" >>> browser.getControl(name='count').value = "10" >>> browser.getControl(name='timeout').value = "100"
and submit the form:
>>> browser.getControl(name='form_submit').click()
Now a new RSS Listing has been created:
>>> 'slashdot' in self.portal.objectIds() True
Publishing content
By default, RSS Listing can be published by any reviewer. Let’s
log out:
>>> browser.getLink('Log out').click()open the front page:
>>> browser.open(portal_url)
enter the log in details:
>>> browser.getControl(name='__ac_name').value = 'reviewer' >>> browser.getControl(name='__ac_password').value = 'secret'
and log in:
>>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True
To publish the RSS Listing
navigate to the content:
>>> browser.open(portal_url + "/slashdot")
and publish it:
>>> browser.getLink('Publish').click()
Viewing content
Published RSS Listing should be visible to everybody. Let’s
log out:
>>> browser.getLink('Log out').click()navigate to the content:
>>> browser.open("%(portal_url)s/slashdot" % vars())
RSS Listing is being rendered:
>>> "Yesterday's news!" in browser.contents True
With required 10 feed items:
>>> browser.contents.count("<a href=\"http://rss.slashdot.org/")
10
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file jyu.rsslisting-1.0.1.tar.gz.
File metadata
- Download URL: jyu.rsslisting-1.0.1.tar.gz
- Upload date:
- Size: 15.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a3185c81c490c0f6b7d8c1c301c125fa3a17d08bdd292279842af82166f72fb8
|
|
| MD5 |
9bd42898c855096950fe1e0e6230fe30
|
|
| BLAKE2b-256 |
d0cf0e0fa708633ea0bce7bb206b66e5d16277615dbfb7905763c4159449fd8c
|