在构建配置中动态添加值

Adding value dynamically in buildout configuration

我正在 zc.buildout 配置中通过评估某些标准来寻找填充值。例如,

如果 fqdn 以“.net”结尾 然后 主机名 = this_pkg_server 别的 主机名 = that_pkg_server

我正在寻找构建特定于站点的配置。我可以使用宏评估 fqdn,但如何在配置中填充该值?

谢谢

最简单的答案是使用精彩mr.scripty

PyPI 上的页面:

未经测试的示例:

[buildout]
parts =
    hostname 

[hostname]
recipe=mr.scripty
pkg_server=
    ... import os
    ... if os.environ.get('HOSTNAME', '').endswith('.net'):
    ...     return 'this_pkg_server'
    ... return 'that_pkg_server'

然后您可以在构建过程中使用返回值 ${hostname:pkg_server}

有一个更复杂的解决方案,即编写您自己的构建方案。 这并不容易,但付出的努力可能不值得。