From 38121cf71bb1a92700a438e516c1402480917ef4 Mon Sep 17 00:00:00 2001 From: Gordon Messmer Date: Wed, 9 Sep 2015 17:58:14 -0700 Subject: Keep trailing newlines in Jinja2 templates. --- src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py index e4df9e09d..4691b80cf 100644 --- a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py +++ b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py @@ -69,7 +69,9 @@ class CfgJinja2Generator(CfgGenerator): encoding = Bcfg2.Options.setup.encoding self.loader = self.__loader_cls__('/', encoding=encoding) - self.environment = self.__environment_cls__(loader=self.loader) + self.environment = \ + self.__environment_cls__(loader=self.loader, + keep_trailing_newline=True) __init__.__doc__ = CfgGenerator.__init__.__doc__ def get_data(self, entry, metadata): -- cgit v1.2.3-1-g7c22 From 8c6e55b967c78d09328f3081ababe2db0610c3eb Mon Sep 17 00:00:00 2001 From: Gordon Messmer Date: Wed, 9 Sep 2015 17:59:02 -0700 Subject: Compatibility with Jinja < 2.7. --- src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py index 4691b80cf..71aec7658 100644 --- a/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py +++ b/src/lib/Bcfg2/Server/Plugins/Cfg/CfgJinja2Generator.py @@ -69,9 +69,15 @@ class CfgJinja2Generator(CfgGenerator): encoding = Bcfg2.Options.setup.encoding self.loader = self.__loader_cls__('/', encoding=encoding) - self.environment = \ - self.__environment_cls__(loader=self.loader, - keep_trailing_newline=True) + try: + # keep_trailing_newline is new in Jinja2 2.7, and will + # fail with earlier versions + self.environment = \ + self.__environment_cls__(loader=self.loader, + keep_trailing_newline=True) + except TypeError: + self.environment = \ + self.__environment_cls__(loader=self.loader) __init__.__doc__ = CfgGenerator.__init__.__doc__ def get_data(self, entry, metadata): -- cgit v1.2.3-1-g7c22