为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
实施
如果调用导出视图,将在给定的 顺序:
获取对象
- 获取mopageobjectlookup多适配器
- 调用mopageobjectlookup的get brains方法
获取数据
- 使用每个对象获取mopagedataprovider多适配器
- 调用mopagedataproviders的get_data方法
验证数据
- 获取每个对象的mopagedatavalidator多适配器dataprovider
- 调用mopagedatavalidator的validate方法
中止或继续
- 如果mopagedatavalidator引发错误,我们将中止导出
- 如果mopagedatavalidator验证有效,则继续导出数据
创建xml字符串
- 获取mopagexmlgenerator多适配器
- 调用mopagexmlgenerator的generate_xml_string方法
返回字符串
- 将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)
- 初始版本