2016-05-03 12 views
5

Sto cercando il valore di popolamento, nella configurazione zc.buildout, valutando determinati criteri. Ad esempio,Aggiunta di valore dinamicamente nella configurazione di buildout

se fqdn endswith '.net' poi hostname = this_pkg_server altro hostname = that_pkg_server

Sto cercando di costruire il sito specifica configurazione. Posso valutare fqdn con la macro ma come popolare quel valore nella configurazione?

Grazie

risposta

6

La risposta più semplice è quello di utilizzare il meraviglioso mr.scripty.

Pagina su PyPI:

esempio testato:

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

È quindi possibile utilizzare tutta la vostra buildout il valore restituito come ${hostname:pkg_server}.

Esiste una soluzione più complessa, ovvero scrivere la propria ricetta di buildout. Non è così facile, ma lo sforzo potrebbe non valere il compito.

+0

Grazie per avermi mostrato questa opzione. Stavo leggendo il manuale e ho ottenuto la sezione condizionale. Anche questo mi ha aiutato per ora. Ma di sicuro la tua soluzione è migliore. –

+1

Siete i benvenuti :) E grazie a te perché mi hai indicato le sezioni condizionali, di cui non conoscevo l'esistenza! – alepisa

Problemi correlati