Есть ли что-нибудь, что предлагает функциональность типа воспроизведения, указывая на предопределенный файл приглашения-ответа?
Что работает и чего я хотел бы достичь.
Давайте рассмотрим пример , используя cookiecutter для подготовки пакета Python для pypi
cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git
You've downloaded /Users/jluc/.cookiecutters/cookiecutter-pypackage before. Is it okay to delete and re-download it? [yes]:
full_name [Audrey Roy Greenfeld]: Spartacus ? constant for me/my organization
email [audreyr@example.com]: spartacus@example.com ? constant for me/my organization
...
project_name [Python Boilerplate]: GladiatorRevolt ? this will vary.
project_slug [q]: gladiator-revolt ? this too
...
OK, готово.
Теперь я могу легко переделать это, для этот проект, через:
cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git --replay
Это здорово!
Что я хочу:
Скажите, что я создаю другой проект, UnleashHell .
Я хочу как-то подготовить файл, который содержит информацию об уровне проекта и для Unlea sh. И я хочу иметь возможность запускать его несколько раз для этого шаблона, не имея дело с подсказками. Этот конкретный шаблон pypi получает регулярные обновления, например, поддержка python 2.7 была прекращена.
Проблема:
A --replay
просто внедрит последний запуск для этого шаблона cookiecutter. Если он был запущен для другого проекта pypi, то слишком плохо.
Я хорошо разбираюсь в информации на уровне разработчика, но мне нужно изменить всю информацию на уровне проекта.
Я попытался скопировать файл воспроизведения через:
cp ~/.cookiecutter_replay/cookiecutter-pypackage.json unleash.json
Редактировать unleash.json
, чтобы отразить необходимые изменения.
Затем указать его с помощью --config-file
flag
cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git --config-file unleash.json
Я получаю ужасную ошибку, она хочет YAML, по-видимому.
cookiecutter.exceptions.InvalidConfiguration: Unable to parse YAML file .../000.packaging/unleash.json. Error: None of the known patterns match for {
"cookiecutter": {
"full_name": "Spartacus",
Нет проблем, json2yaml на помощь.
Это тоже не работает.
cookiecutter.exceptions.InvalidConfiguration: Unable to parse YAML file ./cookie.yaml. Error: Unable to determine type for "
full_name: "Spartacus"
Я также пытался перенаправить < stdin
:
cookiecutter.prompts.txt :
yes
Spartacus
...
Кажется, он его не использует, а просто прерывает.
cookiecutter https://github.com/audreyr/cookiecutter-pypackage.git < ./cookiecutter.prompts.txt
You've downloaded ~/.cookiecutters/cookiecutter-pypackage before. Is it okay to delete and re-download it? [yes]
: full_name [Audrey Roy Greenfeld]
: email [audreyr@example.com]
: Aborted
Я подозреваю, что упускаю что-то очевидное, не знаю, что именно. Для начала, какое намерение и формат ожидается для файла --config?