为plone提供mopage集成。

ftw.mopage的Python项目详细描述


简介

ftw.mopage为 炭疽病。

包注册树视图:

  • mopage_news.xml
  • mopage_events.xml
  • mopage_geolocations.xml

如果调用视图,将在文件系统上生成一个新的xml,并且 将被下载。

要求

该软件包与Plone4.x兼容。

安装

ftw.mopage添加到构建配置:

[instance]
eggs =
  ftw.mopage

标记接口

  • iMoPageExporter
  • IMopageEvent
  • IMopageGeolocation
  • IMopageNews

适配器接口

  • imopageobjectlookup(上下文,请求)
  • IMopageEventObjectLookup
  • IMopageNewsObjectLookup
  • IMopageGeolocationObjectLookup
  • imopagedataprovider(上下文,请求)
  • IMopageGeolocationDataProvider
  • IMopageEventDataProvider
  • IMopageNewsDataProvider
  • imopagedatavalidator(上下文、请求、数据提供程序)
  • IMopageGeolocationDataValidator
  • IMopageEventDataValidator
  • IMopageNewsDataValidator
  • imopagexmlgenerator(上下文,请求)
  • IMopageGeolocationXMLGenerator
  • IMopageEventXMLGenerator
  • IMopageNewsXMLGenerator

实施

如果调用导出视图,将在给定的 顺序:

获取对象

  1. 获取mopageobjectlookup多适配器
  2. 调用mopageobjectlookup的get brains方法

获取数据

  1. 使用每个对象获取mopagedataprovider多适配器
  2. 调用mopagedataproviders的get_data方法

验证数据

  1. 获取每个对象的mopagedatavalidator多适配器dataprovider
  2. 调用mopagedatavalidator的validate方法

中止或继续

  1. 如果mopagedatavalidator引发错误,我们将中止导出
  2. 如果mopagedatavalidator验证有效,则继续导出数据

创建xml字符串

  1. 获取mopagexmlgenerator多适配器
  2. 调用mopagexmlgenerator的generate_xml_string方法

返回字符串

  1. 将XML字符串作为XML下载文件返回

用法

您需要将内容类型标记为mopageexporters。

要获取mopageexporter的数据,需要重写 mopagedataprovider以实现数据导出。

将新内容类型标记为特定的mopageexporter

>>> from zope.interface import implements
>>> from Products.ATContentTypes.content.file import ATFile
>>> from ftw.mopage.interfaces import IMopageNews


>>> class File(ATFile):
...     implements(IFile, IMopageNews)
< H3>马克作为一个特定的MopAGER导出内容类型EH3>

configure.zcml:

<configure
    xmlns="http://namespaces.zope.org/zope"
    xmlns:five="http://namespaces.zope.org/five">

    <five:implements
        class="Products.ATContentTypes.content.file.ATFile"
        interface="ftw.mopage.interfaces.IMopageNews"
    />

</configure>

重写特定的mopagedataprovider

configure.zcml:

<configure
    xmlns="http://namespaces.zope.org/zope">

     <adapter
       for="ftw.mopage.interfaces.IMopageNews
            example.customization.browser.interfaces.IExampleCustomizatio"
       factory=".data_provider.NewsDataProvider"
       provides="ftw.mopage.interfaces.IMopageNewsDataProvider"
      />

</configure>

数据提供者.py:

>>> from ftw.mopage.data_provider import MopageNewsDataProvider


>>> class NewsDataProvider(MopageNewsDataProvider):

...     def get_data(self):
...
...         data = {
...             'id': 'äxx',
...             'titel': 'abc123',
...             'textmobile': 'abc123',
...             'datumvon': 'abc123',
...             'mutationsdatum': 'abc123',
...         }
...
...         return data

其他信息

在docs目录中,您可以找到正式的mopage接口文档 在炭疽方面。

更改日志

1.0(2016-11-01)

  • 初始版本

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
在Java中从本地文件系统导入文件   spring boot如何在Java SpringBoot项目中集成Olingo(Odata)   java查找连续数组中缺少的第k个元素(超过时间限制)   java为什么在mySql中插入1/2行时会得到2/4行   java不能在静态上下文中使用它   File Observer方法的java My onEvent()部分不起作用   java Netty NioSocketChannel在多线程写入时收到中断消息   java将文件夹与父文件夹一起复制   java我的TictaToe代码出了什么问题?如何检查已采取的措施?   java Swing JTable更新   java如何将cordinates查找为int   如何使用selenium和java在firefox中打开新的空选项卡   java Gradle构建输出Jar未运行   java没有GET/WEBINF/jsp/login的映射。jsp