From b01f033d14939ba8560f85f55b8e71c53a39802c Mon Sep 17 00:00:00 2001 From: Vesa Toivonen Date: Wed, 12 Jun 2019 10:54:57 +0300 Subject: [PATCH 1/2] Allow jinja environment to be passed to undeclared_template_variables --- docxtpl/__init__.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/docxtpl/__init__.py b/docxtpl/__init__.py index 1cc6eca..2730918 100644 --- a/docxtpl/__init__.py +++ b/docxtpl/__init__.py @@ -558,11 +558,13 @@ class DocxTemplate(object): self.docx.save(filename,*args,**kwargs) self.post_processing(filename) - @property - def undeclared_template_variables(self): + def undeclared_template_variables(self, jinja_env=None): xml = self.get_xml() xml = self.patch_xml(xml) - env = Environment() + if jinja_env: + env = jinja_env + else: + env = Environment() parse_content = env.parse(xml) return meta.find_undeclared_variables(parse_content) From 1bba2f92b787ac5462772e224d6f7ea904d4d054 Mon Sep 17 00:00:00 2001 From: Vesa Toivonen Date: Mon, 17 Jun 2019 11:07:14 +0300 Subject: [PATCH 2/2] Keep undeclared_template_variables as a property --- docxtpl/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/docxtpl/__init__.py b/docxtpl/__init__.py index 2730918..b06e18e 100644 --- a/docxtpl/__init__.py +++ b/docxtpl/__init__.py @@ -558,7 +558,7 @@ class DocxTemplate(object): self.docx.save(filename,*args,**kwargs) self.post_processing(filename) - def undeclared_template_variables(self, jinja_env=None): + def get_undeclared_template_variables(self, jinja_env=None): xml = self.get_xml() xml = self.patch_xml(xml) if jinja_env: @@ -568,6 +568,8 @@ class DocxTemplate(object): parse_content = env.parse(xml) return meta.find_undeclared_variables(parse_content) + undeclared_template_variables = property(get_undeclared_template_variables) + class Subdoc(object): """ Class for subdocument to insert into master document """