Compare commits
1 commit
881b659560
...
e1d01001ab
| Author | SHA1 | Date | |
|---|---|---|---|
| e1d01001ab |
2 changed files with 2 additions and 33 deletions
14
secretary.py
14
secretary.py
|
|
@ -29,7 +29,6 @@ import re
|
||||||
import sys
|
import sys
|
||||||
import logging
|
import logging
|
||||||
import zipfile
|
import zipfile
|
||||||
import jinja2
|
|
||||||
from os import path
|
from os import path
|
||||||
from mimetypes import guess_type, guess_extension
|
from mimetypes import guess_type, guess_extension
|
||||||
from uuid import uuid4
|
from uuid import uuid4
|
||||||
|
|
@ -135,27 +134,18 @@ class Renderer(object):
|
||||||
self.environment = environment
|
self.environment = environment
|
||||||
else:
|
else:
|
||||||
self.environment = Environment(undefined=UndefinedSilently,
|
self.environment = Environment(undefined=UndefinedSilently,
|
||||||
autoescape=True,
|
autoescape=True)
|
||||||
finalize=self.finalize_value)
|
|
||||||
# Register filters
|
# Register filters
|
||||||
self.environment.filters['pad'] = pad_string
|
self.environment.filters['pad'] = pad_string
|
||||||
self.environment.filters['markdown'] = self.markdown_filter
|
self.environment.filters['markdown'] = self.markdown_filter
|
||||||
self.environment.filters['image'] = self.image_filter
|
self.environment.filters['image'] = self.image_filter
|
||||||
self.environment.globals['SafeValue'] = jinja2.Markup
|
self.environment.globals['SafeValue'] = Markup
|
||||||
|
|
||||||
self.media_path = kwargs.pop('media_path', '')
|
self.media_path = kwargs.pop('media_path', '')
|
||||||
self.media_callback = self.fs_loader
|
self.media_callback = self.fs_loader
|
||||||
|
|
||||||
self._compile_tags_expressions()
|
self._compile_tags_expressions()
|
||||||
|
|
||||||
@jinja2.evalcontextfilter
|
|
||||||
def finalize_value(self, value, *args):
|
|
||||||
"""Escapes variables values."""
|
|
||||||
if isinstance(value, Markup):
|
|
||||||
return value
|
|
||||||
|
|
||||||
return Markup(self.get_escaped_var_value(value))
|
|
||||||
|
|
||||||
def media_loader(self, callback):
|
def media_loader(self, callback):
|
||||||
"""This sets the the media loader. A user defined function which
|
"""This sets the the media loader. A user defined function which
|
||||||
loads media. The function should take a template value, optionals
|
loads media. The function should take a template value, optionals
|
||||||
|
|
|
||||||
|
|
@ -63,24 +63,3 @@ class RenderTestCase(TestCase):
|
||||||
|
|
||||||
def test_create_text_span_node(self):
|
def test_create_text_span_node(self):
|
||||||
assert self.engine.create_text_span_node(self.document, 'text').toxml() == '<text:span>text</text:span>'
|
assert self.engine.create_text_span_node(self.document, 'text').toxml() == '<text:span>text</text:span>'
|
||||||
|
|
||||||
|
|
||||||
class EscapingVariablesValues(TestCase):
|
|
||||||
"""
|
|
||||||
Test encoding of line feed and tab variables valuess
|
|
||||||
"""
|
|
||||||
def test_encode_linefeed_char(self):
|
|
||||||
xml = 'This\nLF'
|
|
||||||
expected = 'This<text:line-break/>LF'
|
|
||||||
assert (Renderer.get_escaped_var_value(xml) == expected)
|
|
||||||
|
|
||||||
def test_encode_linefeed_char(self):
|
|
||||||
xml = 'This\tTab char'
|
|
||||||
expected = 'This<text:tab/>Tab char'
|
|
||||||
assert (Renderer.get_escaped_var_value(xml) == expected)
|
|
||||||
|
|
||||||
def test_escape_xml_reserved_chars(self):
|
|
||||||
''' Should also escape minor and mayor signs '''
|
|
||||||
xml = '1 is > than 0 & -1 is <'
|
|
||||||
expected = '1 is > than 0 & -1 is <'
|
|
||||||
assert (Renderer.get_escaped_var_value(xml) == expected)
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue