fnp
/
django-ssify.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Unescape var values in render middleware.
[django-ssify.git]
/
ssify
/
middleware_debug.py
diff --git
a/ssify/middleware_debug.py
b/ssify/middleware_debug.py
index
863d8fe
..
b0a1e92
100644
(file)
--- a/
ssify/middleware_debug.py
+++ b/
ssify/middleware_debug.py
@@
-29,8
+29,9
@@
SSI_INCLUDE = re.compile(r"<!--#include (?:virtual|file)='(?P<path>[^']+)'-->")
SSI_IF = re.compile(r"(?P<header><!--#if expr='(?P<expr>[^']*)'-->)"
r"(?P<value>.*?)(?:<!--#else-->(?P<else>.*?))?"
r"<!--#endif-->", re.S)
SSI_IF = re.compile(r"(?P<header><!--#if expr='(?P<expr>[^']*)'-->)"
r"(?P<value>.*?)(?:<!--#else-->(?P<else>.*?))?"
r"<!--#endif-->", re.S)
- # TODO: escaped?
-SSI_VAR = re.compile(r"\$\{(?P<var>.+)\}") # TODO: escaped?
+SSI_VAR = re.compile(r"\$\{(?P<var>.+)\}")
+
+UNESCAPE = re.compile(r'\\(.)')
class SsiRenderMiddleware(object):
class SsiRenderMiddleware(object):
@@
-85,9
+86,11
@@
class SsiRenderMiddleware(object):
def ssi_set(match):
"""Interprets SSI set statement."""
def ssi_set(match):
"""Interprets SSI set statement."""
- variables[match.group('var')] = match.group('value')
+ content = match.group('value')
+ content = re.sub(UNESCAPE, r'\1', content)
+ variables[match.group('var')] = content
if conf.RENDER_VERBOSE:
if conf.RENDER_VERBOSE:
- return
match.group(0)
+ return
content
else:
return ""
else:
return ""