一个页面,以与RSS端口号相同的方式显示RSS源(或多个源的聚合)
项目描述
RSS 列表 是一种内容类型,以与默认的 RSS 端口 相同的方式显示RSS源。
公共资源
RSS 列表 为其内容类型的图标安装了公共资源 ++resource++jyu.rsslisting.images/rsslisting_icon.gif
>>> 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")
以及 ++resource++jyu.rsslisting.styles/rsslisting.css 作为其样式表
>>> browser.open(portal_url + "/++resource++jyu.rsslisting.styles/rsslisting.css")
创建内容
默认情况下,全局不允许添加 RSS 列表。让我们允许它以使其更容易测试
>>> 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
现在 RSS 列表 可由任何 贡献者 添加。让我们
打开首页
>>> browser.open(portal_url)
输入登录详情
>>> browser.getControl(name='__ac_name').value = 'contributor' >>> browser.getControl(name='__ac_password').value = 'secret'
并登录
>>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True
现在我们应该能够在 添加项目 菜单中看到 RSS 列表
>>> browser.getLink(id='rss-listing').url.endswith("createObject?type_name=RSS+Listing") True
要添加单个 RSS 列表
从 添加项目 菜单中点击它
>>> browser.getLink(id='rss-listing').click()
输入RSS信息
>>> 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"
并提交表单
>>> browser.getControl(name='form_submit').click()
现在已创建新的 RSS 列表
>>> 'slashdot' in self.portal.objectIds() True
发布内容
默认情况下,RSS 列表 可由任何 审阅者 发布。让我们
登出
>>> browser.getLink('Log out').click()
打开首页
>>> browser.open(portal_url)
输入登录详情
>>> browser.getControl(name='__ac_name').value = 'reviewer' >>> browser.getControl(name='__ac_password').value = 'secret'
并登录
>>> browser.getControl(name='submit').click() >>> "You are now logged in" in browser.contents True
要发布 RSS 列表
导航到内容
>>> browser.open(portal_url + "/slashdot")
并发布它
>>> browser.getLink('Publish').click()
查看内容
已发布的 RSS 列表 应对每个人可见。让我们
登出
>>> browser.getLink('Log out').click()
导航到内容
>>> browser.open("%(portal_url)s/slashdot" % vars())
RSS 列表 正在被渲染
>>> "Yesterday's news!" in browser.contents True
需要10个源项目
>>> browser.contents.count("<a href=\"http://rss.slashdot.org/") 10
项目详情
关闭
jyu.rsslisting-1.0.1.tar.gz的散列值
算法 | 散列摘要 | |
---|---|---|
SHA256 | a3185c81c490c0f6b7d8c1c301c125fa3a17d08bdd292279842af82166f72fb8 |
|
MD5 | 9bd42898c855096950fe1e0e6230fe30 |
|
BLAKE2b-256 | d0cf0e0fa708633ea0bce7bb206b66e5d16277615dbfb7905763c4159449fd8c |