From cdfa0655503acc9eaf3035db5723f6692eaad737 Mon Sep 17 00:00:00 2001 From: Emmanuel Garette Date: Sun, 9 Jan 2022 13:33:05 +0100 Subject: [PATCH] add rougail_index --- doc/service/file.md | 2 +- src/rougail/template/engine/creole.py | 3 +++ src/rougail/template/engine/creole_legacy.py | 3 +++ src/rougail/template/engine/jinja2.py | 9 +++++---- 4 files changed, 12 insertions(+), 5 deletions(-) diff --git a/doc/service/file.md b/doc/service/file.md index 2ccafe75..f9a4f025 100644 --- a/doc/service/file.md +++ b/doc/service/file.md @@ -89,7 +89,7 @@ En effet, il est possible de passer le contenu d'une variable au template : ``` -Dans ce cas, lors de la génération du fichier /etc/squid1/squid.conf on retrouvera la variable "rougail_variable" avec la valeur "squid1" et le fichier /etc/squid2/squid.conf on retrouvera la variable "rougail_variable" avec la valeur "squid2". +Dans ce cas, lors de la génération du fichier /etc/squid1/squid.conf on retrouvera la variable "rougail_variable" avec la valeur "squid1" et la variable "rougail_index" avec la valeur "0". Lors de la génération du fichier /etc/squid2/squid.conf on retrouvera la variable "rougail_variable" avec la valeur "squid2" et la variable "rougail_index" avec la valeur "1". Attention : les deux variables "my_variable1" et "my_variable2" doivent être multiple et de même longueur. diff --git a/src/rougail/template/engine/creole.py b/src/rougail/template/engine/creole.py index c63088f9..fac4fa70 100644 --- a/src/rougail/template/engine/creole.py +++ b/src/rougail/template/engine/creole.py @@ -97,6 +97,7 @@ def process(filename: str, destfilename: str, destdir: str, variable: Any, + index: int, rougail_variables_dict: Dict, eosfunc: Dict, ): @@ -110,6 +111,8 @@ def process(filename: str, } if variable is not None: extra_context['rougail_variable'] = variable + if index is not None: + extra_context['rougail_index'] = index cheetah_template = CheetahTemplate(filename, source, rougail_variables_dict, diff --git a/src/rougail/template/engine/creole_legacy.py b/src/rougail/template/engine/creole_legacy.py index b40ed2fc..6afd3066 100644 --- a/src/rougail/template/engine/creole_legacy.py +++ b/src/rougail/template/engine/creole_legacy.py @@ -119,6 +119,7 @@ def process(filename: str, destfilename: str, destdir: str, variable: Any, + index: int, rougail_variables_dict: Dict, eosfunc: Dict, ): @@ -132,6 +133,8 @@ def process(filename: str, } if variable is not None: extra_context['rougail_variable'] = variable + if index is not None: + extra_context['rougail_index'] = index cheetah_template = CheetahTemplate(filename, source, rougail_variables_dict, diff --git a/src/rougail/template/engine/jinja2.py b/src/rougail/template/engine/jinja2.py index cb1b18da..1c4de2d9 100644 --- a/src/rougail/template/engine/jinja2.py +++ b/src/rougail/template/engine/jinja2.py @@ -39,6 +39,7 @@ def process(filename: str, destfilename: str, destdir: str, variable: Any, + index: int, rougail_variables_dict: Dict, eosfunc: Dict, ): @@ -48,11 +49,11 @@ def process(filename: str, dir_name, template_name = filename.rsplit('/', 1) if source is not None: # pragma: no cover raise TemplateError(_('source is not supported for jinja2')) - rougail_variables_dict['rougail_variable'] = variable + var = {} if variable is not None: - var = {'rougail_variable': variable} - else: - var = {} + var['rougail_variable'] = variable + if index is not None: + var['rougail_index'] = index try: # extra_context = {'normalize_family': normalize_family, # eosfunc