问题标签 [zope.component]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
100 浏览

python - 如何让“cast like”适应纯 zope.interface?

我想获得“C++ cast like”改编以使用来自zope.interface. 在我的真实用例中,我使用了一个注册表,Pyramid但它派生自zope.interface.registry.Components,根据 changes.txt 的介绍,它能够在不依赖zope.components. 以下示例是完整且自包含的:

我想知道为什么registry.getAdapter已经返回了适应的对象,这B在我的例子中是一个实例。我本来希望回到课堂B上,但也许我对适配器一词的理解是错误的。由于这一行有效,而且显然适配代码已正确注册,我也希望最后一行有效。但它失败并出现如下错误:

TypeError: ('Could not adapt', <....A object at 0x4d1c3d0>, < InterfaceClass ....IB>)

知道如何让它工作吗?

0 投票
2 回答
315 浏览

python - 如何让 zope 加载我的 ZCML?

当我编写一些实用程序时,注册它然后用getUtility它查询就可以了:

现在,据我了解,我可以将实用程序的注册移至configure.zcml,如下所示:

但我不知道如何让全局站点管理员阅读这个 zcml。

0 投票
1 回答
25 浏览

python - 为什么我的 MultiAdapter 无法注册?

我目前正在尝试使用 ZCA,但遇到了一些麻烦。下面的脚本定义了一个IFuncttion接口,用于创建可以链接的函数对象(即monads)。

在此示例中,我试图创建一个简单的 writer monad 作为适配器,但getMultiAdapter正在引发ComponentLookupError. 为什么是这样?

0 投票
1 回答
65 浏览

plone - 文档中的 zope.annotation 示例失败。需要帮助来纠正它

我正在尝试从本文档中理解注释:

http://docs.zope.org/zope.annotation/index.html

但是,该示例在运行时失败。

我得到:

0 投票
1 回答
52 浏览

plone - 在 Plone 4.3 上发送响应后操作 cookie

我需要更改存储在 cookie 中的数据,或者在用户访问 Plone URL 时设置新的 cookie。

官方的 Plone 文档包含我在修改 HTTP 响应 cookie部分中所需要的内容。

不幸的是,它似乎是一个已弃用的文档,因为它需要plone.postpublicationhook包,而不是 Plone 附带的,仅适用于 Zope < 2.12;文档说:“这个包是为了向后兼容而提供的。新代码应该直接使用 Zope 2.12 中引入的发布事件。

当我使用 Plone 4.3/Zope 2.13 时,我想知道是否有办法不包含这个已弃用的包。

我正在尝试使用这些ZPublisher.interfaces事件但没有成功。

我正在尝试这样的 ZCML 注册:

但是该函数永远不会被调用。

我找到的一些示例/代码(但仍然无法达到我的范围):

0 投票
1 回答
161 浏览

python - 使用 ZCA 和 SQLAlchemy 创建可重用组件

实际上,我正在使用 python 3.4 为桌面设计一个大型应用程序。我选择了端口和适配器架构,即六边形架构。它的主要目的是使用可重用的组件。

为了组织代码并制定一些规则,我们将使用 Zope 组件架构 (ZCA)

所以要做一些 POC,我正在创建数据库组件。但是使用 ORM 的事实阻止了我。我的意思是我设计了一些看起来像的数据库组件:

-IDatabase -IDatabaseConfig -IEntity -IKey -IReader -IWriter ... 和实现。

SQLAlchemy 管理很多东西,我不知道如何使我的组件可重用。

我找到了这段代码:

但我猜这段代码真的很难与 SQLAlchemy 耦合。那么我应该在我的架构中使用什么方法呢?

由于实体必须是应用程序的中心(域层),如果我需要更改我的数据库组件并且不使用 SQLAlchemy,那么该解决方案会出现问题吗?

我愿意接受所有建议。

0 投票
1 回答
44 浏览

pyramid - Pyramid 中的 Plone/Zope 样式视图覆盖

我有

  • 定义视图的附加产品(“my_view”)
  • 使用此插件的应用程序

views.py在应用程序启动期间,配置器会扫描这两个应用程序。

我的应用程序需要有一个更具体的版本my_view,因为插件提供的 genericmy_view不知道应用程序特定的细节。什么是一个好的金字塔模式这样做,这样金字塔配置器就不会发生冲突?我可以注册一个具有相同名称和上下文更具体IRequest或类似的视图吗?

0 投票
1 回答
35 浏览

security - 将 Zope2 浏览器资源目录权限更改为仅允许经过身份验证的用户

browser:resourceDirectory我在 Zope2 中有一个设置,我有: permission="zope2.Public".

为了只允许“经过身份验证的”用户访问资源目录,应该进行哪些更改?