rougail/doc/dev/config.md

3.9 KiB

Personnalisons la configuration de Rougail

La configuration de Rougail se trouve dans l'objet RougailConfig :

from rougail import RougailConfig

C'est un simple dictionnaire python avec différentes clefs.

Pour modifier il suffit de faire :

RougailConfig[key] = value

Configuration de chargement des dictionnaires

Les répertoires des dictionnaires

Il existe deux types de répertoires de dictionnaires :

  • les dictionnaires principaux avec la clef dictionaries_dir. La valeur par défaut est ['/srv/rougail/dictionaries']. Cette variable doit contenir la liste des répertoires contenants des dictionnaires.

  • les dictionnaires extra avec la clef extra_dictionaries. La valeur est un dictionnaire avec l'ensemble des espaces de nom. La clef étant l'espace de nom et la valeur étant une liste de répertoire.

Par exemple pour ajouter l'extra example il faut faire :

RougailConfig['extra_dictionaries']['example'] = ['/dir1', '/dir2']

Les dictionnaires sont chargés dans le même ordre que les dictionnaires principaux.

Le fichier de fonction

Le fichier qui contient les fonctions personnalisés est géré dans la clef "functions_file" et a comme valeur par défaut "/srv/rougail/functions.py". Cette clef peut contenir une liste s'il y a plusieurs fichiers.

Les fonctions doivent retourner une valeur, même si la variable que l'on calcul est une variable multiple. Si la fonction peut retourner une valeur multiple (une liste), il faut mettre le nom de la fonction dans la clef "multi_functions".

La variable auto_freeze

La propriété auto_freeze n'est appliqué que une variable spécifique passe à True. Par défaut le nom de la variable est "instancied_module", mais il est possible de changer le nom de cette variable via la clef "auto_freeze_variable".

Les modes

Les modes sont personnalisables dans Rougail. Par défaut les modes sont "basic", "normal" et "expert". Il est possible de changer cette liste via la clef "modes_level".

Si vous changer ces valeurs, penser à changer les modes par défaut des familles et des variables.

Le mode par défaut pour une famille

Le mode par défaut d'une famille est "basic". Il est possible de changer le mode par défaut d'une famille via la clef "default_family_mode".

Le mode par défaut pour une variable

Le mode par défaut d'une variable est "normal". Il est possible de changer le mode par défaut d'une variable via la clef "default_variable_mode".

Le nom des fonctions internes

Il est possible d'ajouter des fonctions interne via la clef "internal_functions".

Configuration de la templatisation

Le répertoire des templates

Le répertoire des templates est géré dans la clef "templates_dir" et a comme valeur par défaut : "/srv/rougail/templates". Cette clef peut contenir une liste s'il y a plusieurs répertoires.

Le répertoire des patchs

Le répertoire des patches est géré dans la clef "patches_dir" et a comme valeur par défaut : "/srv/rougail/patches".

Le répertoire temporaire

Le répertoire temporaire est utile lors de la génération de template. Il contient une copie des templates avec, éventuellement, les patches appliqués sur les templates.

Le répertoire de temporaire est géré dans la clef "tmp_dir" et a comme valeur par défaut : "/srv/rougail/tmp".

Le répertoire de destination des fichiers générés

Le répertoire de destination des fichiers générés est géré dans la clef "destinations_dir" et a comme valeur par défaut : "/srv/rougail/destinations".

Les informations systemd

Un certain nombre de variables concerne les templates systemd.

Ajout d'une fonction de conversion

Les fonctions de conversion fait parti du moteur de rougail. Il converti les informations des dictionnaires pour créer des variables Tiramisu.

La clef "extra_annotators" permet d'ajouter des fonctions complémentaires.