用于更新dexterity对象的transmogrifier蓝图
项目描述
transmogrify.dexterity
简介
transmogrify.dexterity 包提供了一个用于更新 dexterity 内容对象字段值的 transmogrifier 管道部分。蓝图名称为 transmogrify.dexterity.schemaupdater
。
schemaupdater 部分至少需要更新对象的路径。对象的路径始终被解释为相对于上下文。任何与当前项中的键匹配的 id 的可写字段都将使用相应的值进行更新。
未从管道中获得值的字段将使用其默认值初始化或获取缺失值标记。此功能将移入单独的构造函数管道...
schemaupdater 部分还可以处理在行为中定义的字段。
实际测试和支持的字段
-
TextLine 或 Text
-
Bool
-
列表
-
NamedFileField:需要一个包含数据和文件名的字典,或者从管道中获取单独的文件名
-
日期:"需要一个 datetime.date 或 datetime.datetime 对象,或者以下格式的字符串 "%Y-%m-%d"
-
日期时间:需要一个 datetime.datetime 对象,或可以被
DateTime.DateTime
解析的字符串,例如 "2015-12-31 17:59:59" 或 "2004/12/30 00:20:00 GMT+1" 等。
默认管道
此包还为您注册了一组管道。要将它们添加到 GenericSetup 配置文件,创建一个名为您希望使用的管道的 transmogrifier.txt
文件。
transmogrify.dexterity.csvimport
此管道将 CSV 文件转换为 dexterity 内容。要使用它
-
将您的 CSV 命名为
entries.csv
-
创建一个名为
transmogrifier.txt
的文件,其中包含一行transmogrify.dexterity.csvimport
-
将它们都添加到一个
.tar.gz
文件中 -
访问 /Plone/portal_setup/manage_importSteps
-
选择您刚刚制作的包
-
"导入上传的包"
...或者将其作为另一个 GS 配置文件的一部分添加。
CSV 的第一行假定是列标题。除非是特殊列,否则列将被假定是要在类型上更新的 dexterity 属性。特殊列名称是:
-
_type 内容的 portal_type(可选,默认为 Document)
-
_path 内容项的完整路径,包括内容项。
-
_folder 包含项的文件夹,id 将从标题派生
-
_transitions 工作流转换(可选,默认为 "发布")
开发此包
创建虚拟环境并安装所有依赖项
make build
在前台启动 Plone
make start
运行测试
make tests
格式化代码库
make format
检查代码库
make lint
许可证
该项目许可协议为 GPLv2。
贡献者
- 4teamwork AG,info@4teamwork.ch
- Wesley Barroso,wesleybl@gmail.com
- Érico Andrei,ericof@plone.org
变更日志
3.0.0 (2023-05-08)
-
不尝试将字节转换为字符串。Python 在加载 json 时将其转换为字符串。@wesleybl
-
添加 Python 3.10 和 3.11 支持 @wesleybl
-
实现 plone/code-analysis-action @ericof
-
添加对 Plone 6.0 的支持 @ericof
-
放弃对 Plone 版本 4.3、5.0 和 5.1 的支持 @ericof
-
放弃对 Python 2.7 的支持 @ericof
2.0.0 (2021-09-28)
-
导入作为 UID 导出的关系字段。 @wesleybl
-
更新 plone.dublincore 行为字段,即使对象没有此行为。 @wesleybl
-
添加对 Python 3.7 和 3.8 的支持 @wesleybl
-
添加对 Plone 4.3、5.0、5.1 和 5.2 的支持 @wesleybl
1.6.4 (2018-12-14)
-
修复日期反序列化以使用任何类型的分隔符或当其为 None 时。 @gbastien
-
DatetimeDeserializer:检查值为空字符串的情况。 @erral
1.6.3 (2016-10-11)
- 重构 DexterityUpdateSection:将确定默认值、从管道获取值和更新字段的操作提取为它们自己的方法。 @lgraf
1.6.2 (2016-05-24)
- 修复蓝图上下文以支持与
transmogrifier
包(不是collective.transmogrifier
)兼容,该包没有对 CMFPlone 的依赖,因此不提供有用的上下文。 @thet
1.6.1 (2015-09-30)
-
不再从 deprecated zope.app.intid 导入,改用 zope.intid。 @jensens
-
修复反序列化器,如果日期时间为字符串 "None"。 @elioschmutz
1.6.0 (2015-08-28)
- 实现新的日期时间字段反序列化器。 @mbaechtold
1.5.2 (2015-07-13)
- 修复默认容器描述为 Unicode,而不是字节字符串。参见 https://github.com/plone/plone.dexterity/pull/33 @jone
1.5.1 (2015-05-27)
- 使 z3c.relationfield 导入条件化。 @jone
1.5 (2015-05-26)
-
在通过路径从路径检索对象时,检查它是否提供 IDexterityContent。如果找不到对象但路径元素名称类似于属性,则遍历还可以返回对象的属性。 @thet
-
处理 collective.jsonify 结构,特别是 _datafield_FIELDNAME 和 _content_type_FIELDNAME 键。 @thet
-
遵循 PEP8。 @thet
-
为 z3c.relationfield 关系(-列表)添加值转换器。 @deiferni
1.4 (2014-11-06)
- 添加用于管理 plone.app.multilingual 翻译的蓝图 @rnix
1.3 (2014-07-25)
-
使用 zope.dottedname.resolve 来查找类 @lentinj
-
序列化/反序列化 zope.schema.IObjects @lentinj
-
添加 'logger' 和 'loglevel' 选项,以便在 disable-constraints 为 True 时记录无效字段 @ebrehault
1.2 (2013-08-29)
- 只有当字段上没有设置值时才使用默认值。 (注意:在设置默认值之前,无论当前字段的值如何)。 @lentinj
1.1 (2013-07-23)
-
不要尝试写入只读字段 @djowett
-
添加通用的 CSV -> 内容管道 @lentinj
1.0 (2011-11-17)
- 更新更改日志以与 zest releaser 兼容 @lgraf
1.0a5(2011-07-18)
-
在 schemaupdater 部分添加 check-constraints 选项。如果设置为 False,则不会将 schemaupdater 部分中设置的字段值与字段的约束进行验证。 @lgraf
-
CollectionDeserializer:将 None 和空字符串转换为空列表 @lgraf
-
添加基本 DateDeserializer @lgraf
-
使用新式类进行 [de] 序列化器 @lgraf
1.0a4(2011-06-07)
-
确保 RichTextValue 获取解码的 Unicode 字符串,添加测试 @lentinj
-
重构以支持更多字段类型。 @elro
1.0a3(2010-03-12)
-
修复布尔字段值类型检查中的错误 @lgraf
-
修复日期转换 @phgross
-
修复值检查:使其正确处理空字符串 @phgross
-
修复列表和布尔字段的处理 @phgross
项目详情
transmogrify.dexterity-3.0.0.tar.gz的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d6f7c7836c68be7bdf3c7f89df1adb73bcb2ada970166469ecd50f59dbcf149c |
|
MD5 | 54e6ce29d66e6eea9d2667ae31f534d2 |
|
BLAKE2b-256 | 033ea449e9a1e8a20d685484fab8c79f04105e50289a08b2cadaadb44d24bf18 |