zope.publisher的WSGI应用程序
项目描述
此软件包提供了WSGIPublisherApplication类,该类将zope.publisher中的对象发布机制公开为WSGI应用程序。它还允许我们通过简单的函数调用启动Zope应用程序服务器(解析zope.conf和site.zcml)
>>> db = zope.app.wsgi.config('zope.conf')
这对于调试特别有用。
要同时启动Zope并获得WSGI应用程序对象,请使用getWSGIApplication函数。
此软件包还提供了一种易于使用的PasteDeploy应用程序工厂。您可以在Paste配置文件中指定类似以下的应用程序配置
[app:main] use = egg:zope.app.wsgi config_file = %(here)s/zope.conf
更多文档请查看软件包本身。
变更记录
5.0 (2023-01-19)
添加对Python 3.11的支持。
添加对Python 3.10的支持。
取消对Python 2.7、3.5、3.6的支持。
4.4 (2022-07-13)
添加对Python 3.9的支持。
删除对 zope.configuration、zope.error、zope.lifecycleevent、zope.session、zope.testing 以及未使用的测试依赖 zope.annotation、zope.login 和 zope.password 的引用。
4.3.0 (2020-07-06)
修复测试层的 http() 方法,使其通过请求协议作为响应协议传递,以兼容 zope.app.testing.functional 的 HTTPCaller。参见 PR 21。
4.2.0 (2020-03-23)
添加对 Python 3.7 和 3.8 的支持。
停止对 Python 3.3 和 3.4 的支持。
修复测试层的 http() 方法,使其能够接受 HTTP 请求中的前导空格,以兼容 zope.app.testing.functional 的 HTTPCaller。
向 FakeResponse 添加一个 server_protocol 属性,以便您可以根据需要自定义输出,使其更兼容 zope.app.testing.functional 的 HTTPCaller。
停止使用 python setup.py test 运行测试。
4.1.0 (2017-04-27)
使用 base64.b64encode 来避免在 Python 3 中出现弃用警告。
添加对 PyPy 的支持。
添加对 Python 3.6 的支持。
修复测试层的 FakeResponse,假设在 Python 2 中头部已经是 unicode,而实际上它们应该是已编码的字节。如果头部包含非 ASCII 字符,这可能导致 UnicodeDecodeError。此外,在 Python 2 中实现 __unicode__,在 Python 3 中实现 __bytes__,以简化跨版本测试。参见 问题 7。
4.0.0 (2016-08-08)
更新依赖项,不再锁定已发布最终版本的软件包的 alpha 版本。
停止对 Python 2.6 的支持。
声明对 Python 3.4 和 3.5 的支持。这需要更新到
zope.app.appsetup >= 4.0
zope.app.publication >= 4.0
修复了在 Python 3 中当主体无法转换为 ILoggingInfo 时发生的错误。
4.0.0a4 (2013-03-19)
改进 Trove 分类器。
修复 BrowserLayer(allowTearDown=True),使其真正允许拆卸。
4.0.0a3 (2013-03-03)
现在您可以在不子类化 BrowserLayer 类的情况下指定额外的 WSGI 中间件组件。
tox 现在使用 Zope 测试运行器的 ftest 命令来执行测试,因为设置测试无法处理层,尤其是当它们需要生成子进程时。
将所有功能测试切换到使用 WebTest 而不是 zope.testbrowser。设置合适的层。
不要依赖于 zope.testbrowser.wsgi WSGI 层支持。实际上也不需要。
最小化 ftesting.zcml 设置。
向后不兼容:如果您依赖于 zope.app.wsgi.testlayer,则需要要求 zope.app.wsgi[testlayer] >= 4.0(版本约束存在,因为较老的 zope.app.wsgi 版本没有定义 testlayer 扩展)。
4.0.0a2 (2013-03-02)
修复了 WSGI 测试层设置中的一个错误,其中数据库设置不正确。
4.0.0a1 (2013-02-28)
添加了对 Python 3.3 的支持。
用等效的 zope.interface.implementer 装饰器替换了弃用的 zope.interface.implements 使用。
停止对 Python 2.4 和 2.5 的支持。
3.15.0 (2012-01-19)
修复:zope.app.wsgi.paste.ZopeApplication 没有发出 ProcessStarting 事件。
- 注意
如果应用程序通过生成事件来补偿这一点,那么它需要停止,否则将发出多个事件。(是否会对应用程序造成伤害取决于具体的应用程序。)
3.14.0 (2012-01-10)
将WSGI环境中的REMOTE_USER项(如果尚未设置)设置为Zope主体标签。(这与wsgi.logging_info环境项中的数据集相同。)
此更改允许用户信息被paste.translogger中间件(或任何类似使用REMOTE_USER的中间件)使用,它提供了访问日志。
3.13.0 (2011-03-15)
升级到zope.testbrowser 4.0.0,该版本使用WebTest而不是wsgi_intercept。
3.12.0 (2011-01-25)
修复了zope.app.wsgi.testlayer.http以与3.11.0版本中的更改兼容。
3.11.0 (2011-01-24)
将
支持移动到zope.testbrowser.wsgi,因此需要至少3.11版本的此包 将zope.app.wsgi.testlayer.Browser移动到zope.testbrowser.wsgi.Browser,但在此保留了BBB导入。
将zope.app.wsgi.testlayer.BrowserLayer拆分为通用WSGI浏览器层(zope.testbrowser.wsgi.Layer)和ZODB/ZOPE特定部分(如先前的zope.app.wsgi.testlayer.BrowserLayer)。
3.10.0 (2010-11-18)
在testlayer中为设置WSGI中间件添加了可插入性。
3.9.3 (2010-10-14)
为xmlrpc添加Python 2.7兼容性。移植zope.app.testing r116141。
3.9.2 (2010-05-23)
修复了由于mechanize 0.2.0版本更改导致的测试中断。
3.9.1 (2010-04-24)
添加了对使用zope.app.wsgi.testlayer测试XMLRPC的支持。
修复了zope.app.wsgi.testlayer的FakeResponse中的状态字符串处理中的错误。
3.9.0 (2010-04-19)
在zope.app.wsgi.testlayer.http中返回FakeResponse对象,这使得从zope.app.testing的HTTPCaller迁移测试变得更容易。
zope.app.wsgi.testlayer现在与zope.app.testing中的HTTPCaller()功能具有更好的兼容性,它可以替代后者
错误修复:初始化配置中定义的任何<logger>,如zope.app.server所做的那样。(修复了#291147)
3.8.0 (2010-04-14)
zope.app.wsgi.testlayer现在与zope.app.testing中的HTTPCaller()功能具有更好的兼容性,它可以替代后者
相同的交易行为 - 在请求之前提交挂起的交易,并在之后同步。
支持browser.handleErrors(用于zope.testbrowser)。
支持明文(非base64)基本认证标头,这使得在测试中更容易阅读(尽管在实际HTTP流量中不正确)。
3.7.0 (2010-04-13)
重新编写测试,以避免依赖于zope.app.testing和zope.app.zcmlfiles。
zope.app.wsgi.testlayer引入了新的测试功能,可以替代zope.app.testing中的旧功能。此外,它支持直接使用zope.testbrowser与WSGI一起使用(而不是依赖于拉入大量依赖项的zope.app.testing)。
有趣的部分是
zope.app.wsgi.testlayer.BrowserLayer:这设置了允许您使用新的WSGI启用浏览器的最小层。
zope.app.wsgi.testlayer.Browser:这是来自zope.testbrowser.browser的Browser的子类。直接使用zope.testbrowser.browser而不是使用测试浏览器与WSGI一起使用,请使用此功能。您需要将BrowserLayer与您的测试一起使用才能使其正常工作。
zope.app.wsgi.testlayer.http:这是与zope.app.testing中的http()函数等效的功能。它允许通过WSGI进行低级HTTP访问。您需要将BrowserLayer与您的测试一起使用才能使其正常工作。
3.6.1 (2010-01-29)
支持Zope配置文件中的产品配置部分。
3.6.0 (2009-06-20)
直接从zope.processlifetime导入数据库事件,而不是使用zope.app.appsetup中的BBB导入。
3.5.2 (2009-04-03)
WSGIPublisherApplication 现在使用 zope.publisher.interfaces.logginginfo 提供的 ILoggingInfo 概念,用于记录用户信息,这些信息可用于访问日志。这允许您实现自己的访问日志用户信息消息。有关更多信息,请参阅 zope.publisher.interfaces.logginginfo.ILoggingInfo。
3.5.1 (2009-03-31)
WSGIPublisherApplication 现在在环境中提供了一个用于日志的用户名。
3.5.0 (2009-02-10)
使 devmode 警告消息更通用。在基于 buildout 的设置中,现在我们不需要 etc/zope.conf 文件。
为 Paste 添加了应用程序工厂。因此,Zope 应用程序现在可以轻松地使用 Paste .ini 配置部署,如下所示
[app:main] use = egg:zope.app.wsgi config_file = %(here)s/zope.conf handle_errors = false
config_file 是一个必需的参数,但如果没有指定,handle_errors 默认为 True。将其设置为 False 允许您使 WSGIPublisherApplication 不自己处理异常,而是将它们传播到上层中间件,如 WebError 或类似的东西。
WSGIPublisherApplication 构造函数和 getWSGIApplication 函数现在接受可选的 handle_errors 参数,如上所述。
将邮件列表地址更改为 zope-dev@zope.org,而不是已退休的地址。
3.4.1 (2008-07-30)
添加了 Trove 类别。
当创建 WSGI 应用程序时,通知 WSGIPublisherApplicationCreated 事件。
在 ftesting.zcml 中修复了弃用警告:ZopeSecurityPolicy 已移动到 zope.securitypolicy。
3.4.0 (2007-09-14)
修复了测试,使其在 Python 2.5 以及 Python 2.4 上运行。
将 getApplication 分解为 config 和 getApplication,以便 config 可以重复使用,例如用于调试。
3.4.0a1 (2007-04-22)
作为独立项目首次发布,对应于 Zope 3.4.0a1 的 zope.app.wsgi。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解有关 安装包 的更多信息。