从配置文件目录/存档读取Zope配置状态
项目描述
Products.GenericSetup
此产品提供了一个小型框架,用于将Zope站点的配置状态表示为一组文件系统工件。这些工件包括声明性XML文件,它们指定了站点中每个“工具”的配置设置,以及它们的“标准”文件系统表示中的支持脚本/模板。
有关完整文档,请参阅https://productsgenericsetup.readthedocs.io/。
变更日志
3.0.2 (2024-01-22)
如果注册的组件是“全局对象”,则在实用程序注册的序列化中使用component。修复了#6 <https://github.com/zopefoundation/Products.GenericSetup/issues/6>_。
3.0.1 (2023-03-03)
修复126:在升级中也处理了旧版本,使用setuptools 66或更高版本。(#126)
3.0.0 (2023-02-01)
停止支持Python 2.7、3.5、3.6。
2.3.0 (2022-12-16)
修复针对Zope 4的测试中的buildout配置隐秘错误。
添加对Python 3.11的支持。
2.2.0 (2022-04-04)
添加方法tool.hasUpgrades。这比检查tool.listUpgrades返回非空列表更高效。
将dest和simple选项添加到tool.listUpgrades。使用此选项简化upgradeProfile方法。
修复#118:找不到导入处理程序。(#118)
允许将quiet=True传递给upgradeProfile。然后,当配置文件未安装或不需要升级时,我们不会抱怨。
2.1.5 (2021-12-03)
修复#114:由于不稳定的哈希键,在多实例集群上使用ZMI存在问题。(#114)
将多个选项卡移动到Zope 4+ ZMI标记标准。[jensens]
2.1.4 (2021-09-15)
修复与Zope 5.3的兼容性问题,其中预期行的属性应包含文本,而不是字节。(#109)
2.1.3 (2021-07-28)
修复#83问题,其中空版本导致错误[gogobd]
2.1.2 (2021-07-02)
2.1.1 (2021-03-02)
在设置工具日志文件和快照文件和文件夹上强制执行访问控制。(#101)
2.1.0 (2021-01-26)
添加对Python 3.9的支持。
2.0.3 (2020-09-28)
在记录升级时,打印由点连接的版本元组。
将xml目录重命名为xml_templates。这避免了Python 2.7上的导入警告。
2.0.2 (2020-01-29)
移除Zope 2.13化石,以保持与Zope 5的兼容性
在工具集注册中强制保存未持久化的更改。(#86)
2.0.1 (2019-10-12)
修复升级步骤排序问题。[vanderbauwhede]
2.0 (2019-05-10)
自2.0b6以来没有更改
2.0b6 (2019-04-09)
2.0b5 (2018-12-14)
通过使用 html.escape 修复 cgi.escape 的弃用警告 (#76)
2.0b4 (2018-11-22)
在传递给 type_converter 之前,将 xml 配置的输入转换为正确编码。(#77) [sallner]
2.0b3 (2018-11-07)
不要将 ulines 和多选转换为字节。 [davisagli]
在 py3 中将 PythonScripts 的主体设置为文本。 [pbauer]
比较编码,使 UTF-8 和 utf-8 相同。 [pbauer]
在 py3 中将 DOM 作为文本比较。 [pbauer]
2.0b2 (2018-10-17)
新功能
添加 Python 3.7 支持。
支持 zope.configuration >= 4.2。
错误修复
为 _createObjectByType 正确处理字符串/字节。在 Python2 中,一切都是字节,而在 Python3 中,一切都是文本,除了文件和图像,它们以字节形式存储 [ale-rt]
2.0b1 (2018-05-16)
破坏性更改
要求 Zope 4.0b4 作为最低支持的 Zope 版本,并取消显式 Zope2 egg 依赖。
取消对 Python 3.4 的支持
新功能
修复了与 Products.ZCatalog 4.1 相关的测试。 [maurits]
当 metadata.xml 解析失败时,在 ExpatError 中显示文件名。修复 Plone 问题 2303。
防止 AttributeError ‘NoneType’ 对象没有 ‘decode’ 属性。 [maurits]
完成与 Python 3.5 和 3.6 的兼容性
使代码符合 PEP-8 规范
错误修复
不要隐藏来自缺少依赖配置文件的 ‘getProfileDependencies’ 中的 KeyError。参见:https://github.com/plone/Products.CMFPlone/issues/2228 [ida]
1.10.0 (2017-12-07)
破坏性更改
要求 Zope 4.0a6 作为最低支持的 Zope 版本。
将 MailHost 导入/导出支持移动到 Products.MailHost 包以减少硬依赖。
新功能
添加 tox 测试配置。
将文档推送到 RTD:https://productsgenericsetup.readthedocs.io/。
1.9.1 (2017-05-06)
错误修复
修复 upgradeStep 区分器,以确保不同配置文件类似步骤不会冲突。
修复 upgradeDepends 区分器,以确保 upgradeSteps 内部的步骤与外部步骤(如果它们具有相同的 checker)不会冲突。
修复 UnrestrictedUser 的导入。
1.9.0 (2017-05-04)
破坏性更改
取消对 Python 2.6 的支持。
要求 Zope 4.0a3 作为最低支持的 Zope 版本。
1.8.7 (2017-03-26)
如果确实相同,则允许注册相同的配置文件两次。这主要是为了测试,因为在测试 teardown 中可能会出现问题,导致注册表没有被正确清理。如果您在 zcml 中注册相同的配置文件两次,您在 Zope 启动期间仍然会从 zope.configuration 得到一个冲突。[maurits]
1.8.6 (2016-12-30)
向 tarball 导入表单添加了一个 purge_old 选项。默认情况下,此选项被选中,这与以前的操作相同。如果您取消选中它,这将避免对运行任何导入步骤的任何导入步骤清除旧设置。[maurits]
1.8.5 (2016-11-01)
停止使用表单库来渲染组件表单。
1.8.4 (2016-09-21)
将 _profile_upgrade_versions 转换为 PersistentMapping。当调用 (un)setLastVersionForProfile 时,我们将迁移原始 Python 字典。这使得一些代码更容易编写,并与事务更好地协作,这在测试期间可能特别有帮助。[maurits]
1.8.3 (2016-04-28)
允许在 toolset.xml 中覆盖必需和禁止的工具。如果一个工具当前必需,而你导入的 toolset.xml 中禁止了这个工具,我们将该工具从必需列表中移除,并添加到禁止列表中。反之亦然。之前的行为是抛出异常,这导致无法在xml中删除工具。当使用 remove 关键字时,将失败并抛出 ValueError。预期的行为尚不明确。[maurits]
1.8.2 (2016-02-24)
向 registerProfile 指令添加了可选的 pre_handler 和 post_handler。当设置时,这些点分隔名称将被解析为函数,并将设置工具作为单一参数传递。它们在应用配置文件的所有导入步骤之前和之后被调用。[maurits]
按字母顺序对导入配置文件进行排序。允许通过标题或id选择配置文件。[maurits]
如果没有依赖项,则不在完整导入选项卡上显示依赖项选项。[maurits]
在导入选项卡上默认不选择配置文件。[maurits]
在高级导入选项卡上添加了所有步骤的简单切换功能。同样也在导出选项卡上添加了此功能。[maurits]
修复了导入tarball的问题。这导致 AttributeError: “‘NoneType’ 对象没有 ‘startswith’ 属性”。[maurits]
将过于复杂的导入选项卡拆分为三个选项卡:导入(用于导入完整配置文件)、高级导入(原始 manage_importSteps url 引导到此选项卡)和tarball导入。[maurits]
当有挂起的升级时,在导入选项卡上显示备注。特别是对于当前选择的配置文件,特别显示此备注。[maurits]
在升级选项卡上:单独显示有挂起升级的配置文件。这些是最重要的。这避免了手动遍历整个列表以查找可能需要采取行动的配置文件的必要。这使用设置工具的新方法:hasPendingUpgrades、listProfilesWithPendingUpgrades、listUptodateProfiles。[maurits]
1.8.1 (2015-12-16)
在应用基本配置文件之前清除配置文件升级版本。
向 portal_setup 添加了 purgeProfileVersions 方法。这将删除所有配置文件升级版本。[maurits]
向 portal_setup 添加了 unsetLastVersionForProfile 方法。这将配置文件id从配置文件升级版本中删除。现在,调用 setLastVersionForProfile 并使用 unknown 作为版本现在具有相同的效果。[maurits]
1.8.0 (2015-09-21)
在处理带有或没有 profile- 开头的配置文件id时更加宽容。所有接受配置文件id参数并仅在id 不 以该字符串开头时工作的函数现在将删除它(如果存在)。例如,getLastVersionForProfile 将给出相同的答案,无论你询问版本为配置文件id foo 或 profile-foo。
来自 metadata.xml 的依赖配置文件如果已应用,则不会再次应用。相反,如果有的话,应用其升级步骤。在代码中,你可以通过调用 runAllImportStepsFromProfile 并将 dependency_strategy=DEPENDENCY_STRATEGY_REAPPLY 作为参数来选择始终应用依赖项的旧行为。有四种策略,你可以在ZMI中选择。[maurits]
1.7.7 (2015-08-11)
修复:当最后一个应用的升级步骤有一个检查器时,配置文件版本没有更新。现在在决定是否设置配置文件版本时不再查看最后一个应用的步骤的检查器。如果设置了检查器,则通常在运行步骤之前返回 True(可以应用),之后返回 False(已应用)。
将upgradeProfile方法添加到设置工具中。此方法应用于给定配置文件的所有升级步骤,或将其更新到可选的给定版本。如果配置文件不存在,或者没有升级步骤可进入指定版本,则该方法会发出警告而不做任何操作。
在导入对象时检查remove选项的布尔值。之前我们只检查是否提供了remove选项,而不考虑其值。支持True、Yes和1,其中大小写不敏感。现在移除对象、属性和元素的语法相同。
支持remove="True"属性。
1.7.6 (2015-07-15)
在Travis下启用测试。
修复与Setuptools 8.0及更高版本的兼容性。升级步骤可能会按错误的顺序排序,特别是空版本字符串(从任何源版本升级的步骤)被排序在最后而不是最前。
1.7.5 (2014-10-23)
允许在runAllImportStepsFromProfile上跳过某些步骤。
1.7.4 (2013-06-12)
在导入时,避免清除状态未更改的索引。
1.7.3 (2012-10-16)
在升级表单中对配置文件进行排序。
在导入、导出和升级表单中使用可点击的标签和复选框来提高可用性。
1.7.2 (2012-07-23)
在快照导出中避免使用manage_FTPGet:该方法会搞乱响应头。
ZopePageTemplate处理器:修复导出编码:从1.7.0版本开始,导出必须是UTF-8字符串
1.7.1 (2012-02-28)
恢复设置工具仅使用当前配置文件明确调用的导入/导出步骤的能力,忽略任何可能全局注册的步骤。这对于配置具有基线配置文件的站点特别有用,其中任意附加步骤不仅无用,而且可能有害。
1.7.0 (2012-01-27)
在导入toolset.xml时,如果找不到所需工具的类,则打印警告并继续下一个工具。之前的行为可能会破坏任何附加件的安装或卸载,因为缺失的类可能来自不再在zope实例中可用的不同且不相关的附加件。
导出器现在仅明确理解字符串。提供的注册处理程序自动将数据编码和解码为UTF-8。它们的默认编码已从None更改为UTF-8。如果您有自定义注册处理程序,请确保您对unicode进行编码。特别检查您是否使用页面模板生成xml。它们返回unicode,它们的输出也必须进行编码。如果您选择使用UTF-8对字符串进行编码,则可以确保您的代码也与GenericSetup < 1.7兼容
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装包的信息。
源分发
构建分发
散列 for Products.GenericSetup-3.0.2-py3-none-any.whl
算法 | 散列摘要 | |
---|---|---|
SHA256 | 3b0b93b1f73d184becd380b79bd42635966821cd8fcdb81c097a8be6d6275437 |
|
MD5 | 71aa532dbe9c56f91cd89c29669fa266 |
|
BLAKE2b-256 | c5e546d083106e042ee20e0f4658e8689d11c78191d43598bb5a23ce27056cb6 |