From 1e9a3aaa624db548f83bafa56c36a70edf17402c Mon Sep 17 00:00:00 2001 From: Jeremy Edberg Date: Wed, 3 Sep 2008 14:25:42 -0700 Subject: [PATCH] Fixes bug #104: do not double escape & in markdown urls; http://code.reddit.com/ticket/104 --- r2/r2/lib/filters.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/r2/r2/lib/filters.py b/r2/r2/lib/filters.py index 257ffd6c1..fa6cf07d0 100644 --- a/r2/r2/lib/filters.py +++ b/r2/r2/lib/filters.py @@ -96,6 +96,7 @@ r_url = re.compile('(?', re.I | re.S) href_re = re.compile('([^<]+)') +a_re = re.compile('>([^<]+)') #TODO markdown should be looked up in batch? @@ -122,9 +123,14 @@ def safemarkdown(text): def code_handler(m): l = m.group(1) return '%s' % l.replace('&','&') + #unescape double escaping in links + def inner_a_handler(m): + l = m.group(1) + return '>%s' % l.replace('&','&') # remove the "&" escaping in urls text = href_re.sub(href_handler, text) text = code_re.sub(code_handler, text) + text = a_re.sub(inner_a_handler, text) return MD_START + text + MD_END