在注释中添加btrees
项目描述
文档
目标受众
这是一个为集成者提供的包。
安装和目标
将collective.btrees添加到您的buildout中的eggs。如果您使用Plone 3.2或更低版本,请将其添加到zcml中。在Plone UI中无需进一步安装。
这提供了一些小的适配器,可以在对象注释中存储btrees。为BTrees模块中的所有btrees提供了适配器。适配器使btrees的公共方法在适配器中可用。当您需要此功能且理解其含义时使用它。:-)
示例使用
通常您将想要创建一个自己的适配器来覆盖一些设置,至少是存储注释的键。在adapters.py中放置此内容。
from zope.interface import implements from zope.interface import Interface from collective.btrees.interfaces import IOOBTreeContainer from collective.btrees.adapters import OOBTreeContainer class IFormValuesContainer(IOOBTreeContainer): pass class FormValuesContainer(OOBTreeContainer): implements(IFormValuesContainer) ANNO_KEY = 'my.package.formvalues' def _check_key(self, key): if not isinstance(key, basestring): raise TypeError("base string expected as key") def _check_value(self, value): if not isinstance(value, dict): raise TypeError("dictionary expected as value")
在zcml中注册适配器
<adapter for="zope.interface.Interface" provides=".adapters.IFormValuesContainer" factory=".adapters.FormValuesContainer" />
例如,在浏览器视图中使用它来存储请求表单字典到btree(如果这对于您的网站有意义的话)
container = IFormValuesContainer(self.context) key = 'my key' # maybe use the user id as key value = self.request.form container.insert(key, value) container.get(key) # will return value
兼容性
我已在Plone 3.3和4.1上尝试了此方法。它可能在其他版本上也能正常工作。
变更日志
1.1 (2012-06-05)
更改了setup.py的url,以指向github collective。 [maurits]
1.0 (2012-05-16)
首次发布 [maurits]
项目详情
关闭
collective.btrees-1.1.zip 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 50f6c47cd6e08aba473f6f52ddbb1cecfd00af021beec6c73e7fdf0ac647fd33 |
|
MD5 | f26a1fb2adb9012898cdbf0e7de0eeae |
|
BLAKE2b-256 | 65645083b6469626b55188e6eebb4250c47278f71db4911e76a9ddcd580cc99c |