一个提供在安装通用设置配置文件时执行代码的钩子的Plone插件。
项目描述
ftw.profilehook
ftw.profilehook 提供了一个在通用设置配置文件安装后执行自定义代码的钩子。
动机
我们经常在导入通用设置配置文件后执行导入步骤。注册大量设置处理器是不好的,因为它延长了每个配置文件的导入时间,并且通用设置中的导入步骤数量有限,当超过时会产生不良影响。导入步骤的目的是从任何配置文件中导入事物,而不是在导入特定配置文件后执行代码。正因为如此,存在 ftw.profilehook 并提供了一种简单的解决此问题的方法。
用法
将 ftw.profilehook 添加为您的 setup.py 的依赖项
setup(...
install_requires=['ftw.profilehook'])
在 ZCML(configure.zcml)中注册您的钩子函数
<configure
xmlns="http://namespaces.zope.org/zope"
xmlns:genericsetup="http://namespaces.zope.org/genericsetup"
xmlns:i18n="http://namespaces.zope.org/i18n"
xmlns:profilehook="http://namespaces.zope.org/profilehook"
i18n_domain="my.package">
<include package="ftw.profilehook" />
<genericsetup:registerProfile
name="default"
title="my.package"
directory="profiles/default"
provides="Products.GenericSetup.interfaces.EXTENSION"
/>
<profilehook:hook
profile="my.package:default"
handler=".hooks.default_profile_installed"
/>
</configure>
在您的钩子(hooks.py)中执行操作
from my.package.interfaces import IMyRoot
from zope.component import alsoProvides
def default_profile_installed(site):
mark_site_as_my_root(site)
def mark_site_as_my_root(site)
if not IMyRoot.providedBy(site):
alsoProvides(site, IMyRoot)
在您的配置文件(my.package:default)安装后,您的钩子将被执行。
导入前钩子
标准钩子(profilehook:hook)在导入配置文件后执行。通过使用 profilehook:before_import_hook 指令,您可以注册在导入配置文件之前执行的钩子。
<profilehook:before_import_hook
profile="my.package:default"
handler=".hooks.before_installing_default_profile"
/>
链接
版权
本软件包由 4teamwork 版权所有。
ftw.profilehook 采用 GNU 通用公共许可证,版本 2。
变更日志
1.3.0 (2018-09-28)
修复 portal_setup 中上传 tarball 的错误。[jone]
添加 plone 5.1.x 测试配置。[mathias.leimgruber]
1.2.1 (2016-05-12)
修复与 ftw.inflator 的兼容性。[jone]
1.2.0 (2016-05-11)
支持导入前钩子。[jone]
1.0.0 (2014-08-15)
初始实现。[jone]
项目详情
关闭
ftw.profilehook-1.3.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 99e1b984b7ac9e242a558da17608a5d0fcbc92bc16e6461900e8feb7806661d3 |
|
MD5 | 785f05b0d81ea7726c82b6dda8ccd49b |
|
BLAKE2b-256 | ba25e2b3c9666e212942494816b521f2aeb198e24f499bb06c3fe97f2ac55cf6 |