跳转到主要内容

用于更新dexterity对象的transmogrifier蓝图

项目描述

transmogrify.dexterity

PyPI PyPI - Python Version PyPI - Wheel PyPI - License PyPI - Status

PyPI - Plone Versions

Code analysis checks Tests Code Style

GitHub contributors GitHub Repo stars

简介

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。

贡献者

变更日志

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)

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 (36.2 kB 查看哈希值)

上传时间

由以下机构支持