跳转到主要内容

为Zope本地站点和实用程序提供类似Grok的配置

项目描述

此包提供在 Python 中(无需 ZCML)直接编写本地站点和 Zope 实用工具的支持。

设置 grokcore.site

此包的基本设置类似于 grokcore.component 包,请参阅其文档以获取详细信息。您需要的唯一附加 ZCML 行是

<include package="grokcore.site" />

将此放在根 ZCML 文件顶部附近,但在包含 grokcore.component 配置的行下面。

示例

全局实用工具已由 grokcore.component 管理。

这里是一个简单的本地实用工具示例

from zope.interface import implements, Interface
import grokcore.site

class IKangaroo(Interface):

    def jump():
       """Make all kangaroos jump somewhere.
       """

class KangarooUtility(grokcore.site.LocalUtility):
    implements(IKangaroo)

    def jump(self):
        pass

现在,我们可以将我们的实用工具注册到本地站点。这将自动创建并注册该实用工具,当创建该站点时

class Jungle(grokcore.site.Site):

    grokcore.site.local_utility(KangarooUtility, IKangaroo)

如果您不添加最后一行,您仍然会有您的站点,但没有使其跳起来袋鼠的东西。然后,您可以在之后手动添加(如果您想的话)。

API 概览

基类

站点

您站点的基类。

LocalUtility

持久化本地实用工具的基类。

指令

local_utility(factory, provides=None, name=u'', setup=None, public=False, name_in_container=None)

在站点上用于在创建时注册本地实用工具的指令

factory

将是注册的组件(必需参数),

provides

将是用于查询本地实用工具的接口(必需参数),

name

将是用于查询本地实用工具的名称,

setup

将是一个带有参数的函数。如果定义了它,它将在实用工具创建后以它作为第一个和唯一参数调用。

public

如果为真,实用工具将创建在站点容器本身中,而不是在站点管理器中,并且公众可以直接访问它。

name_in_container

将用作创建的实用工具在容器中的 ID。如果没有定义,它将请求 NameChooser 为其选择一个名称。

此外,grokcore.site 包公开了 grokcore.component API。

变更

4.0 (2023-07-11)

  • 停止对 Python 2.7、3.5、3.6 的支持。

  • 添加对 Python 3.9、3.10、3.11 的支持。

  • 将代码调整为 zope.site >= 4.4,因此至少需要该版本。(#7

3.1 (2020-09-02)

  • 修复弃用警告。

  • 停止对 Python 3.4 的支持,并添加对 3.7 和 3.8 的支持。

3.0.3 (2018-01-12)

  • 重新排列测试,以便 Travis CI 可以选择所有功能测试。

3.0.2 (2018-01-11)

  • 不再从 zope.site.hooks 导入 getSite,而是从 zope.component.hooks 导入。

3.0.1 (2018-01-10)

  • 通过删除 ZODB3 修复依赖关系。

3.0.0 (2018-01-05)

  • Python 3 兼容性。

1.8 (2016-09-21)

  • 在删除站点时,请确保从父站点中删除引用。

1.7.1 (2016-01-29)

  • 更新测试。

1.7 (2015-06-11)

  • 添加一个新的指令 install_on,该指令可在站点上使用。此指令允许您自定义何时(即事件)安装配置的本地站点。

  • ApplicationInitializedEvent 重命名为 ApplicationAddedEvent

  • 当触发 IApplicationAddedEvent 时,新应用程序将成为当前的 Zope 本地站点。事件后恢复站点。

1.6.1 (2012-05-02)

  • 公开 ApplicationInitializedEvent 和 IApplicationInitializedEvent。

  • 添加了公开 IApplication 接口所需的缺失导入。

1.6 (2012-05-01)

  • 将指令 site 从 Grok 移动到本包。

  • 将组件 Application 及所有相关实用工具从 Grok 移动到本包。

1.5 (2011-01-03)

  • 将 IApplication 和 getApplication 从 Grok 包移动到本包。

1.4 (2010-11-01)

  • 提高对 Martian 和 grokcore.component 的版本要求。

1.3 (2010-10-18)

  • 使包符合存储库策略。

  • 更新功能测试以仅使用 zope.app.appsetup 而不是 zope.app.testing。

  • 更新功能测试不再需要 zope.app.zcmlfiles。

1.2 (2009-12-20)

  • 将导入从 zope.app.component 迁移到 zope.site。

1.1 (2009-09-18)

  • 更新依赖项(添加缺失的依赖项并添加单独的测试依赖项)。

  • 本地实用工具现在实现了 IAttributeAnnotatable。

  • 更新来自 Grok 自身的代码文档。

  • 在 Grok 的发布信息中使用 1.0b2 版本的 versions.cfg,而不是本地副本;所有 grokcore 包的本地副本都太难维护。

1.0.1 (2009-06-30)

  • 重新上传到 PyPI,使用没有 distutils 错误的正确版本的 Python。

1.0 (2009-06-29)

  • 通过从 Grok 中提取基于本地站点的组件、grokkers 和指令创建 grokcore.site

项目详细信息


下载文件

下载您平台上的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源分发

grokcore.site-4.0.tar.gz (20.4 kB 查看哈希值)

上传时间

构建分发

grokcore.site-4.0-py3-none-any.whl (26.7 kB 查看哈希值)

上传时间 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面