Можем ли мы иметь переменную в опционной части конфигурационного файла Buildout? - PullRequest
0 голосов
/ 02 марта 2019

Файл конфигурации Buildout Python позволяет нам избежать повторения значений , разрешив специальный синтаксис, известный как подстановка переменных , который имеет вид ${SECTION:OPTION}

Это пример, который позволяет нам не повторять слово experiment:

[context]
name = experiment

[db]
server = ${context:name}

Можно ли использовать подстановку для опции самой?

Например:

[soures]
${context:name} = https://git.com/${context:name}.git

1 Ответ

0 голосов
/ 03 марта 2019

Нет, расширение переменных в ключах не поддерживается;функция на самом деле называется значение подстановки , чтобы было понятно, синтаксис применяется только к значениям:

При предоставлении значений вВ конфигурации вы можете включить значения из других параметров, используя синтаксис:

${SECTION:OPTION}

Параметры синтаксис также явно исключают символы, необходимые для подстановкивозможно:

Параметры указываются с именем параметра, за которым следует знак равенства и значение:

parts = py 

Имена параметров могут содержать любые символы, кроме пробелов, квадратных скобок, фигурныхфигурные скобки, знаки равенства или двоеточия

с исключением, отмеченным для синтаксиса сокращенного <part-dependencies> .

Итак, в конце концов, когда замены переменных применяются в buildout , код ищет часть синтаксиса ${ только в значениях:

# force substitutions
for k, v in sorted(self._raw.items()):
    if '${' in v:
        self._dosub(k, v)
...