Merge pull request #171 from anhphamduy/master

Getting undeclared variables in a template
This commit is contained in:
Eric Lapouyade 2019-01-11 15:00:32 +01:00 committed by GitHub
commit 651b59fc21
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,7 +13,7 @@ from docx import Document
from docx.opc.oxml import serialize_part_xml, parse_xml
import docx.oxml.ns
from docx.opc.constants import RELATIONSHIP_TYPE as REL_TYPE
from jinja2 import Template
from jinja2 import Environment, Template, meta
from jinja2.exceptions import TemplateError
try:
from html import escape, unescape
@ -41,6 +41,14 @@ class DocxTemplate(object):
HEADER_URI = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/header"
FOOTER_URI = "http://schemas.openxmlformats.org/officeDocument/2006/relationships/footer"
@property
def undeclared_template_variables(self):
xml = self.get_xml()
xml = self.patch_xml(xml)
env = Environment()
parse_content = env.parse(xml)
return meta.find_undeclared_variables(parse_content)
def __init__(self, docx):
self.docx = Document(docx)
self.crc_to_new_media = {}