diff --git a/doc/README.md b/doc/README.md index 605a24573..c822e8569 100644 --- a/doc/README.md +++ b/doc/README.md @@ -30,7 +30,7 @@ Rougail est un bibliothèque python3 qui permet de charger des dictionnaires (fi ### Les contraintes - - [Les calcules automatiques](fill/README.md) + - [Les calculs automatiques](fill/README.md) - [Les vérifications des valeurs](check/README.md) - [Les conditions](condition/README.md) diff --git a/doc/dev/README.md b/doc/dev/README.md index 56a8511e4..53d3bbea2 100644 --- a/doc/dev/README.md +++ b/doc/dev/README.md @@ -111,7 +111,7 @@ $ python3 script.py ## Templatisons un fichier -Un template est un fichier dans laquelle on va remplacer les valeurs attendus par le nom des variables. +Un [template](../template/README.md) est un fichier dans lequel on va remplacer les valeurs attendues par le nom des variables. Premièrement déclarons dans un dictionnaire complémentaire notre template dict/00-template.yml : @@ -146,7 +146,6 @@ async def main(): RougailConfig['extra_dictionaries']['example'] = ['extras/'] RougailConfig['functions_file'] = 'funcs/functions.py' rougail = Rougail() - config = await rougail.get_config() await rougail.template() run(main()) @@ -162,7 +161,7 @@ The extra value: my_value_extra ## Créons une fonction personnalisé -Nous créons un dictionnaire complémentaire pour ajouter un calcul à la variable "my_variable" dans dict/00-fill.yml : +Nous créons le dictionnaire complémentaire dict/00-fill.yml pour que la variable "my_variable" soit [calculée](fill/README.md) : ```yml version: '0.10' @@ -190,5 +189,31 @@ The extra value: my_value_extra La valeur de la variable "my_variable" est bien calculé à partir de la fonction "return_no". +## Template et systemd -#FIXME systemd +Rougail peut également généré automatiquement le fichier [tmpfiles.d](https://www.freedesktop.org/software/systemd/man/tmpfiles.d.html) pour installer automatiquement les fichiers de configuration au démarrage de la machine. + +Pour générer le fichier tmpfiles.d, ajouter l'argument "systemd" à la methode "template" : + +```python +from rougail import Rougail, RougailConfig +from asyncio import run + +async def main(): + RougailConfig['dictionaries_dir'] = ['dict'] + RougailConfig['templates_dir'] = ['tmpl'] + RougailConfig['tmp_dir'] = 'tmp' + RougailConfig['destinations_dir'] = 'dest' + RougailConfig['extra_dictionaries']['example'] = ['extras/'] + RougailConfig['functions_file'] = 'funcs/functions.py' + rougail = Rougail() + await rougail.template('systemd') + +run(main()) +``` + +Ainsi le fichier supplémentaire "dest/tmpfiles.d/0rougail.conf" sera créé avec le contenu : + +``` +C /etc/example.conf 0644 root root - /usr/local/lib/etc/example.conf +``` diff --git a/doc/schema.svg b/doc/schema.svg index 432fa618f..56405f233 100644 --- a/doc/schema.svg +++ b/doc/schema.svg @@ -7,9 +7,9 @@ viewBox="0 0 183.75807 175.69795" version="1.1" id="svg1281" - inkscape:version="1.1.2 (0a00cf5339, 2022-02-04)" + inkscape:version="1.2.1 (9c6d41e410, 2022-07-14)" sodipodi:docname="schema.svg" - inkscape:export-filename="/home/gnunux/git/risotto/rougail/doc/schema.png" + inkscape:export-filename="schema.png" inkscape:export-xdpi="149.25999" inkscape:export-ydpi="149.25999" xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape" @@ -28,14 +28,16 @@ inkscape:document-units="mm" showgrid="false" inkscape:zoom="0.7786055" - inkscape:cx="353.19555" - inkscape:cy="355.76425" - inkscape:window-width="1033" - inkscape:window-height="1063" - inkscape:window-x="26" - inkscape:window-y="23" - inkscape:window-maximized="0" - inkscape:current-layer="layer1" /> + inkscape:cx="-26.329123" + inkscape:cy="357.0486" + inkscape:window-width="1920" + inkscape:window-height="1011" + inkscape:window-x="0" + inkscape:window-y="0" + inkscape:window-maximized="1" + inkscape:current-layer="layer1" + inkscape:showpageshadow="2" + inkscape:deskcolor="#d1d1d1" />