2016-05-03 10 views
5

Ich bin auf der Suche nach bevölkern Wert, in zc.buildout Konfiguration, durch die Bewertung bestimmter Kriterien. Zum BeispielWert dynamisch in Buildout-Konfiguration hinzufügen

wenn fqdn endswith '.net' dann hostname = this_pkg_server sonst hostname = that_pkg_server

Suche standortspezifische Konfiguration zu bauen. Ich kann fqdn mit Makro auswerten, aber wie man diesen Wert in der Konfiguration auffüllt?

Dank

Antwort

6

Die einfachste Antwort ist die wunderbare mr.scripty zu verwenden.

Seite auf PyPI:

Ungeprüfte Beispiel:

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

Sie können dann über Ihre buildout verwenden den Rückgabewert als ${hostname:pkg_server}.

Es gibt eine komplexere Lösung, d. H. Das Schreiben eines eigenen Buildout-Rezepts. Es ist nicht so einfach, aber die Mühe ist vielleicht nicht die Aufgabe wert.

+0

Danke, dass Sie mir diese Option gezeigt haben. Ich las durch Handbuch und bekam bedingten Abschnitt. Auch das hat mir im Moment geholfen. Aber sicher ist deine Lösung besser. –

+1

Gern geschehen :) Und danke dir, weil du mich auf bedingte Abschnitte hingewiesen hast, deren Existenz ich nicht kannte! – alepisa