Я начал использовать cookiecutter для генерации скелетов дерева проектов и столкнулся с «простым» вариантом использования, на который не могу найти ответ.
У меня есть вложенный словарь в cookiecutter.json и аналогично: https://cookiecutter.readthedocs.io/en/latest/advanced/dict_variables.html Я хотел бы зациклить элементы в словаре и отобразить свойства каждого из них.
Однако в моем сценарии использования каждый элемент в словаре являетсяотдельный файл, и этот шаблонный выходной файл должен быть отображен с содержимым элемента.
Например, если у меня есть:
{
"apiname": "API host root",
"project_slug": "repo/context name",
"context" : "context name",
"full_name": "Your name",
"email": "Your address email (eq. you@example.com)",
"release_date": "{% now 'local' %}",
"version": "0.1.0",
"_extensions": ["jinja2_time.TimeExtension"],
"entities" : {
"customer" : {
"id" : {"name": "customer", "search_types" : ["eq"]},
"name" : {"put_required" : "False"}
},
"order" : {
"id" : {"name": "order", "search_types" : ["eq"]},
"po" : {"put_required" : "True"}
}
}
}
И наличие IN в файле шаблона с именем (приблизительно) {{cookiecutter.entities [ключ] .name}}. txt:
{{cookiecutter.entities[key].put_required}}
Мой желаемый вывод - 2 файла с именем:
customer.txt
order.txt
С соответствующим содержимым для каждого элемента, отображаемым в правильномfile (в данном случае это просто атрибут put_required в одиноком поле).
Мне кажется, что это сценарий использования ловушки / сценария для создания шаблонных файлов с шаблонными именами до фактического запускаng cookiecutter (такой, что выходные файлы customer.txt и order.txt создаются «временно» в каталоге шаблонов, а затем запускаются через средство визуализации.
В настоящее время я все еще использую cookiecutter из командной строки, но яЯ был бы рад переключиться на API Python напрямую, если это требуется, чтобы сделать то, что я хочу сделать здесь.