Каковы действительные условия для zcml:condition?
ZCML может включать условные директивы вида
<configure zcml:condition="installed some.python.package">
(conditional configuration directives)
</configure>
Каков синтаксис выражения для condition
? "Или" разрешено?
1 ответ
Я всегда должен искать это тоже. Синтаксис очень прост, и or
Боюсь, это не часть синтаксиса.
Как видно из документации в исходном коде zope.configuration, синтаксис всегда имеет вид verb arguments
где глагол является одним из have
, not-have
, installed
а также not-installed
,
have
а также not-have
проверить зарегистрированную функцию. Зарегистрированная функция - это просто непрозрачная строка, которая была зарегистрирована <meta:provides feature="something" />
тег. Используйте это, чтобы отметить, что что-то было включено, не привязывая это к определенной реализации. Пример:
<configure zcml:condition="have apidoc">
<!-- only when the apidoc feature has been provided -->
</configure>
installed
а также not-installed
просто попробуйте импортировать указанный пакет; если импорт завершается успешно, то installed
тестовое задание. Пример:
<configure zcml:condition="installed sqlalchemy">
<!-- only when the sqlalchemy module can be imported -->
</configure>