Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Adding value dynamically in buildout configuration

Tags:

buildout

plone

I am looking for populating value, in zc.buildout configuration, by evaluating certain criteria. For example,

if fqdn endswith '.net' then hostname = this_pkg_server else hostname = that_pkg_server

I am looking to build site specific configuration. I can evaluate fqdn with macro but how to populate that value in configuration?

Thanks

like image 272
Jagadeesh N M Avatar asked May 03 '16 04:05

Jagadeesh N M


1 Answers

The simplest answer is to use the wonderful mr.scripty.

Page on PyPI:

  • https://pypi.python.org/pypi/mr.scripty

Untested example:

[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'

You can then use across your buildout the returned value as ${hostname:pkg_server}.

There is a more complex solution, i.e. writing your own buildout recipe. It is not that easy, but the effort may not be worth the task.

like image 69
alepisa Avatar answered Sep 30 '22 11:09

alepisa