summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcel Hellkamp <marc@gsites.de>2012-02-11 19:42:43 +0100
committerMarcel Hellkamp <marc@gsites.de>2012-02-11 19:43:51 +0100
commita7245cab8d39af3bd54a3428bc06bc7b5f0c5898 (patch)
tree10adff6d213ea75961237cfd260adc8e67306695
parent41a9d6b3c16032758d983f54795877c5bda22869 (diff)
downloadbottle-a7245cab8d39af3bd54a3428bc06bc7b5f0c5898.tar.gz
fix: Subtile bug in stpl parser. '.%' was recognized as code line.
-rwxr-xr-xbottle.py3
1 files changed, 2 insertions, 1 deletions
diff --git a/bottle.py b/bottle.py
index 2f6063e..8697a8d 100755
--- a/bottle.py
+++ b/bottle.py
@@ -2694,11 +2694,12 @@ class SimpleTemplate(BaseTemplate):
lineno += 1
line = line if isinstance(line, unicode)\
else unicode(line, encoding=self.encoding)
+ sline = line.lstrip()
if lineno <= 2:
m = re.search(r"%.*coding[:=]\s*([-\w\.]+)", line)
if m: self.encoding = m.group(1)
if m: line = line.replace('coding','coding (removed)')
- if line.strip()[:2].count('%') == 1:
+ if sline and sline[0] == '%' and sline[:2] != '%%':
line = line.split('%',1)[1].lstrip() # Full line following the %
cline = self.split_comment(line).strip()
cmd = re.split(r'[^a-zA-Z0-9_]', cline)[0]