summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-09-25 21:12:13 -0600
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-09-25 21:12:13 -0600
commit3fdc78352a7a80451944af75c46e1cde790a0033 (patch)
tree1959312bbaa101dbdbc73322d8affafac009e7db
parent76de7b6f27524186ef78e3440f40e805986232b3 (diff)
downloadaskbot-3fdc78352a7a80451944af75c46e1cde790a0033.tar.gz
askbot-3fdc78352a7a80451944af75c46e1cde790a0033.tar.bz2
askbot-3fdc78352a7a80451944af75c46e1cde790a0033.zip
temporal fix for email images issue with tinymce editor
-rw-r--r--askbot/templatetags/extra_filters_jinja.py11
-rw-r--r--askbot/tests/templatefilter_tests.py4
2 files changed, 9 insertions, 6 deletions
diff --git a/askbot/templatetags/extra_filters_jinja.py b/askbot/templatetags/extra_filters_jinja.py
index 62a41895..ba13166b 100644
--- a/askbot/templatetags/extra_filters_jinja.py
+++ b/askbot/templatetags/extra_filters_jinja.py
@@ -26,16 +26,19 @@ register = coffin_template.Library()
@register.filter
def absolutize_urls(text):
- url_re1 = re.compile(r'(?P<prefix><img[^<]+src=)"(?P<url>/[^"]+)"', re.I)
- url_re2 = re.compile(r"(?P<prefix><img[^<]+src=)'(?P<url>/[^']+)'", re.I)
+ #temporal fix for bad regex with wysiwyg editor
+ url_re1 = re.compile(r'(?P<prefix><img[^<]+src=)"(?P<url>[/\..][^"]+)"', re.I)
+ url_re2 = re.compile(r"(?P<prefix><img[^<]+src=)'(?P<url>[/\..][^']+)'", re.I)
url_re3 = re.compile(r'(?P<prefix><a[^<]+href=)"(?P<url>/[^"]+)"', re.I)
url_re4 = re.compile(r"(?P<prefix><a[^<]+href=)'(?P<url>/[^']+)'", re.I)
- img_replacement = '\g<prefix>"%s\g<url>" style="max-width:500px;"' % askbot_settings.APP_URL
+ img_replacement = '\g<prefix>"%s/\g<url>" style="max-width:500px;"' % askbot_settings.APP_URL
replacement = '\g<prefix>"%s\g<url>"' % askbot_settings.APP_URL
text = url_re1.sub(img_replacement, text)
text = url_re2.sub(img_replacement, text)
text = url_re3.sub(replacement, text)
- return url_re4.sub(replacement, text)
+ #temporal fix for bad regex with wysiwyg editor
+ return url_re4.sub(replacement, text).replace('%s//' % askbot_settings.APP_URL,
+ '%s/' % askbot_settings.APP_URL)
TIMEZONE_STR = pytz.timezone(
diff --git a/askbot/tests/templatefilter_tests.py b/askbot/tests/templatefilter_tests.py
index 090be956..3902aad4 100644
--- a/askbot/tests/templatefilter_tests.py
+++ b/askbot/tests/templatefilter_tests.py
@@ -6,12 +6,12 @@ class AbsolutizeUrlsTests(TestCase):
def setUp(self):
askbot_settings.update('APP_URL', 'http://example.com')
def test_absolutize_image_urls(self):
- text = """<img class="junk" src="/some.gif"> <IMG SRC='/some.png'>"""
+ text = """<img class="junk" src="/some.gif"> <img class="junk" src="../../cat.gif"> <IMG SRC='/some.png'>"""
#jinja register.filter decorator works in a weird way
output = filters.absolutize_urls[0](text)
self.assertEqual(
output,
- '<img class="junk" src="http://example.com/some.gif" style="max-width:500px;"> <IMG SRC="http://example.com/some.png" style="max-width:500px;">'
+ '<img class="junk" src="http://example.com/some.gif" style="max-width:500px;"> <img class="junk" src="http://example.com/../../cat.gif" style="max-width:500px;"> <IMG SRC="http://example.com/some.png" style="max-width:500px;">'
)
def test_absolutize_anchor_urls(self):
text = """<a class="junk" href="/something">link</a> <A HREF='/something'>link</A>"""