brodul.recipe.template is een vork van amplecode.recipe.template, een buildout recept voor het genereren van bestanden met behulp van Jinja2 templates & nbsp;. Het recept configureert een Jinja2 milieu, standaard ten opzichte van de Buildout directory, waardoor sjablonen om uit te breiden en onder andere sjablonen opzichte van de omgeving.
Downloads zijn beschikbaar vanaf pypi: http://pypi.python.org/pypi/brodul.recipe.template/
Buildout Opties
- Template-bestand of-ingang (verplicht): Een of meer Jinja2 sjabloonbestand paden.
- Doel-bestand of de uitgang (verplicht): Een van meer doelbestand paden. Het aantal bestanden moet het aantal template bestanden overeenkomen.
- Base-dir: Base directory van de Jinja2 milieu. Template-bestand paden zijn ten opzichte van deze map. Standaard is de Buildout directory.
- Target-executable: Een of meer boolean vlaggen (ja | neen | true | false | 1 | 0) vermelding van de uitvoerbaarheid van de beoogde bestanden. Als er slechts één vlag is gegeven het wordt toegepast op alle doelgroepen bestanden.
- Eieren: Gereserveerd voor een lijst met eieren, gemakkelijk omgezet in een pkg_resources.WorkingSet wanneer gespecificeerd
- Jinja2_filters: aangepast filter functies gescheiden door witruimte
Extra opties zijn gewoon doorgestuurd naar de templates, en opties van alle andere onderdelen worden ter beschikking gesteld door delen.
Lijsten van Waarden
Het is mogelijk dat een recept optie om één of meer waarden, gescheiden door spaties bevatten. Een split-filter is beschikbaar voor als u wilt herhalen over de witruimte gescheiden waarden in je Jinja2 sjabloon:
#! / Bin / sh
{% Voor cmd in cmds | split%}
& Nbsp; echo "{{cmd}}"
{% Endfor%}
minimaal voorbeeld
foo.txt wordt gemaakt op basis van foo.txt.jinja2 zonder extra opties:
[Buildout]
delen = foo
[Foo]
recept = brodul.recipe.template
template-file = foo.txt.jinja2
doel-bestand = foo.txt
Grotere Voorbeeld
foo.txt wordt gemaakt op basis van myapp / foo.txt.jinja2, wordt bar.sh gemaakt van myapp / bar.sh.jinja2, zal de tweede uitvoerbaar zijn, en beide sjablonen kunnen de extra opties aangegeven te gebruiken:
[Buildout]
delen = foo
[Foo]
recept = brodul.recipe.template
base-dir = myapp
template-file =
& Nbsp; foo.txt.jinja2
& Nbsp; bar.sh.jinja2
target-file =
& Nbsp; foo.txt
& Nbsp; bar.sh
target-executable =
& Nbsp; valse
& Nbsp; ware
project_name = Een ander voorbeeld
author = Me
Aangepaste filters
De filter functie ligt in dezelfde map als de buildout.cfg in een filter.py bestand. Als u meer wilt gebruiken filters scheiden met een spatie.
[Buildout]
delen = foo
[Foo]
recept = brodul.recipe.template
ingang = foo.txt.jinja2
output = foo.txt
jinja2_filters = filter.bar
Eisen
- Python
Reacties niet gevonden