Was sind die gültigen Bedingungen für zcml: Zustand?
Frage
ZCML können bedingte Richtlinien des Formulars enthalten
<configure zcml:condition="installed some.python.package">
(conditional configuration directives)
</configure>
Was ist der Ausdruck Syntax für condition
? Ist 'oder' erlaubt?
Lösung
Ich habe immer diese auch nach oben zu schauen. Die Syntax ist sehr einfach, und or
ist nicht Teil der Syntax, ich habe Angst.
Wie Sie sehen können von die Dokumentation in der zope.configuration Quellcode , die Syntax ist immer von der Form verb arguments
, wo verb eines von have
, not-have
, installed
und not-installed
.
have
und not-have
Test für eine registrierte Funktion. Eine registrierte Funktion ist einfach eine undurchsichtige Zeichenfolge, die mit einem <meta:provides feature="something" />
Tag registriert wurden. Verwenden Sie es, zu kennzeichnen, dass etwas ohne Bindung an einen bestimmten Implementierung einbezogen. Beispiel:
<configure zcml:condition="have apidoc">
<!-- only when the apidoc feature has been provided -->
</configure>
installed
und not-installed
einfach versuchen, den Namen versehenes Paket zu importieren; wenn der Import gelingt so auch den installed
Test. Beispiel:
<configure zcml:condition="installed sqlalchemy">
<!-- only when the sqlalchemy module can be imported -->
</configure>