Utilisation avancée
Modification des méta-caractères utilisés
Dans le cas où il y a trop de % dans le template, il est possible de changer carrément de méta-caractères, en ajoutant une section compiler-settings
en en-tête du template.
Cette méthode est, par exemple, utilisée pour la génération du fichier de configuration du logiciel eJabberd
qui est en déclaré en Erlang[1].
ExempleUtilisation de @ et @@ à la place de % et %%
%compiler-settings
directiveStartToken = @
cheetahVarStartToken = @@
%end compiler-settings
Utilisation de creole_client
Les fonctionnalités de creole_client sont utilisables directement dans les templates.
Il est par exemple possible de lister toutes les variables et leurs valeurs :
%for %%var, %%value in %%creole_client.get_creole().items()
%%var : %%value
%end for
Donnera le résultat suivant (notez que le nom des variables esclaves est précédé de celui de la variable maître associée) :
ssl_organization_name : Ministere Education Nationale (MENESR)
https_port :
check_passwd_min_len_two_type : 9
container_ip_proxy : 127.0.0.1
nom_cache_pere_zone.options_cache_pere_zone : []
nom_cache_pere : []
ignore_expect_100 :
off
eolesso_adresse : 192.168.230.205
activer_dhcprelay : non
[ ... ]
Plus généralement, il est possible d'accéder à toutes les informations décrites dans les dictionnaires comme celles concernant les conteneurs, les services et les tâches programmées.
Liste des conteneurs :
%for %%container in %%creole_client.get_containers()
* %%container['name']
%end for
Liste des services actifs :
%for %%srv in %%creole_client.get_services()
%if %%srv.has_key('activate')
* %%srv['name']
%end if
%end for
%set %%sched = %%creole_client.get('schedule.schedule')
Les tâches programmées sont exécutées à %%{sched['hour']}h%%{sched['minute']}