跳转到主要内容

一个页面,以与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 列表 可由任何 贡献者 添加。让我们

  1. 打开首页

    >>> browser.open(portal_url)
  2. 输入登录详情

    >>> browser.getControl(name='__ac_name').value = 'contributor'
    >>> browser.getControl(name='__ac_password').value = 'secret'
  3. 并登录

    >>> 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 列表

  1. 添加项目 菜单中点击它

    >>> browser.getLink(id='rss-listing').click()
  2. 输入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"
  3. 并提交表单

    >>> browser.getControl(name='form_submit').click()

现在已创建新的 RSS 列表

>>> 'slashdot' in self.portal.objectIds()
True

发布内容

默认情况下,RSS 列表 可由任何 审阅者 发布。让我们

  1. 登出

    >>> browser.getLink('Log out').click()
  2. 打开首页

    >>> browser.open(portal_url)
  3. 输入登录详情

    >>> browser.getControl(name='__ac_name').value = 'reviewer'
    >>> browser.getControl(name='__ac_password').value = 'secret'
  4. 并登录

    >>> browser.getControl(name='submit').click()
    >>> "You are now logged in" in browser.contents
    True

要发布 RSS 列表

  1. 导航到内容

    >>> browser.open(portal_url + "/slashdot")
  2. 并发布它

    >>> browser.getLink('Publish').click()

查看内容

已发布的 RSS 列表 应对每个人可见。让我们

  1. 登出

    >>> browser.getLink('Log out').click()
  2. 导航到内容

    >>> 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 (15.5 kB 查看散列值)

上传时间

由以下支持