跳转到主要内容

一个用于plaster的PasteDeploy语法的加载器。

项目描述

https://img.shields.io/pypi/v/plaster_pastedeploy.svg master CI Status

plaster_pastedeploy 是一个 plaster 插件,它提供了一个 plaster.Loader,可以根据 PasteDeploy 的标准解析 ini 文件。它支持 wsgi plaster 协议,实现了 plaster.protocols.IWSGIProtocol 接口。

用法

应用程序应使用 plaster_pastedeploy 从配置源(通常是文件)的命名部分中加载设置。

  • 有关如何将此加载器集成到应用程序中的信息,请参阅 plaster 的文档。

  • 请查看PasteDeploy的文档,了解支持的INI文件格式详情。

大多数应用程序将想要使用plaster.get_loader(uri, protocols=['wsgi'])来获取此加载器。然后它暴露了get_wsgi_appget_wsgi_app_settingsget_wsgi_filterget_wsgi_server

import plaster

loader = plaster.get_loader('development.ini', protocols=['wsgi'])
# to get any section out of the config file
settings = loader.get_settings('app:main')

# to get settings for a WSGI app
app_config = loader.get_wsgi_app_settings()  # defaults to main

# to get an actual WSGI app
app = loader.get_wsgi_app()  # defaults to main

# to get a filter and compose it with an app
filter = loader.get_wsgi_filter('filt')
app = filter(app)

# to get a WSGI server
server = loader.get_wsgi_server()  # defaults to main

# to start the WSGI server
server(app)

任何plaster.PlasterURL选项都将作为默认值转发到加载器。以下是一些示例

  • development.ini#myapp

  • development.ini?http_port=8080#main

  • pastedeploy+ini:///path/to/development.ini

  • pastedeploy+ini://development.ini#foo

  • egg:MyApp?debug=false#foo

1.0.1 (2022-11-06)

  • 小版本发布以清理README。

1.0 (2022-11-06)

  • 停止支持Python 2.7、3.4、3.5、3.6。

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

  • 黑化代码库。

  • 将CI切换到Github Actions。

0.7 (2019-04-12)

0.6 (2018-07-11)

0.5 (2018-03-29)

0.4.2 (2017-11-20)

0.4.1 (2017-07-10)

0.4 (2017-07-09)

  • 修复get_settings以任意部分为任意部分提供支持,以遵循PasteDeploy在处理默认值方面的规则。该包的目标是与PasteDeploy的格式兼容,以便在文件的所有部分中都不会有令人惊讶的格式更改。

    支持添加了set default_foo = barget foo = default_foo语法来覆盖默认值以及分别将默认值拉入设置。在上面的示例中,将返回值foo = bar。通过插值或get语法未拉入该部分的任何其他默认值都将被忽略。

    请参阅https://github.com/Pylons/plaster_pastedeploy/pull/6

  • 自动将环境变量注入到默认值中。这些将作为ENV_<foo>可用以插值。例如,如果环境变量APP_DEBUG=true,则%(ENV_APP_DEBUG)s在ini文件中将工作。请参阅https://github.com/Pylons/plaster_pastedeploy/pull/7

  • get_settingsget_wsgi_app_settings 现在都只返回本地配置。然而,返回的对象具有包含默认值的 global_conf 属性以及指向加载器实例的 loader 属性。请参阅 https://github.com/Pylons/plaster_pastedeploy/pull/8

0.3.2 (2017-07-01)

0.3.1 (2017-06-02)

  • 识别 pastedeploy+egg 方案为 egg 类型。

0.3 (2017-06-02)

0.2.1 (2017-03-29)

  • 修复了 0.2 版本中的一个错误,该错误在使用非基于配置文件的协议时会对无效部分引发异常。

0.2 (2017-03-29)

  • 不再引发 plaster.NoSectionError 异常。对于缺失的部分返回空字典,用户应检查 get_sections 以获取有效部分的列表。

0.1 (2017-03-27)

  • 初始发布。

项目详情


下载文件

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

源分布

plaster_pastedeploy-1.0.1.tar.gz (20.9 kB 查看哈希值)

上传时间

构建分布

plaster_pastedeploy-1.0.1-py2.py3-none-any.whl (7.8 kB 查看哈希值)

上传时间 Python 2 Python 3

由以下支持

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