2016-05-03 3 views
5

Je cherche une valeur de remplissage, dans la configuration de zc.buildout, en évaluant certains critères. Par exemple,Ajout dynamique de valeur dans la configuration du build

si fqdn endswith '.net' puis hostname = this_pkg_server autre hostname = that_pkg_server

Je cherche à construire des sites configuration spécifique. Je peux évaluer fqdn avec la macro mais comment peupler cette valeur dans la configuration?

Merci

Répondre

6

La réponse la plus simple est d'utiliser le merveilleux mr.scripty.

sur la page PyPI:

exemple Untested:

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

Vous pouvez ensuite utiliser sur votre buildout la valeur retournée comme ${hostname:pkg_server}.

Il existe une solution plus complexe, à savoir l'écriture de votre propre recette de buildout. Ce n'est pas si simple, mais l'effort ne vaut peut-être pas la peine.

+0

Merci de m'avoir montré cette option. Je lisais le manuel et obtenais une section conditionnelle. Cela aussi m'a aidé pour le moment. Mais à coup sûr, votre solution est meilleure. –

+1

Vous êtes les bienvenus :) Et merci à vous parce que vous m'avez indiqué des sections conditionnelles dont je ne connaissais pas l'existence! – alepisa