From 03b57bbd1ef4bf46d274c1a580a750aadea2270c Mon Sep 17 00:00:00 2001 From: Adolfo Fitoria Date: Thu, 20 Sep 2012 20:22:28 -0600 Subject: uploaded images work again on emails notifications --- askbot/models/post.py | 3 --- askbot/skins/default/templates/email/macros.html | 3 ++- askbot/templatetags/extra_filters_jinja.py | 10 ++++++---- askbot/tests/templatefilter_tests.py | 8 +++++--- 4 files changed, 13 insertions(+), 11 deletions(-) diff --git a/askbot/models/post.py b/askbot/models/post.py index 49220a63..e15516eb 100644 --- a/askbot/models/post.py +++ b/askbot/models/post.py @@ -840,15 +840,12 @@ class Post(models.Model): if quote_level > 0, the post will be indented that number of times todo: move to views? """ - from askbot.templatetags.extra_filters_jinja \ - import absolutize_urls_func from askbot.skins.loaders import get_template from django.template import Context template = get_template('email/quoted_post.html') data = { 'post': self, 'quote_level': quote_level, - #'html': absolutize_urls_func(self.html), 'is_leaf_post': is_leaf_post, 'format': format } diff --git a/askbot/skins/default/templates/email/macros.html b/askbot/skins/default/templates/email/macros.html index 3c2d1c02..46aa1b90 100644 --- a/askbot/skins/default/templates/email/macros.html +++ b/askbot/skins/default/templates/email/macros.html @@ -1,3 +1,4 @@ +{% load extra_filters_jinja %} {% macro quoted_post( post = None, quote_level = 0, @@ -71,7 +72,7 @@ {% endif %}

{% endif %} - {{ post.html }} + {{ post.html | absolutize_urls}} {{ end_quote(quote_level) }} {% endspaceless %} {% endmacro %} diff --git a/askbot/templatetags/extra_filters_jinja.py b/askbot/templatetags/extra_filters_jinja.py index 3643e3c9..62a41895 100644 --- a/askbot/templatetags/extra_filters_jinja.py +++ b/askbot/templatetags/extra_filters_jinja.py @@ -24,17 +24,19 @@ from django_countries import settings as countries_settings register = coffin_template.Library() -def absolutize_urls_func(text): +@register.filter +def absolutize_urls(text): url_re1 = re.compile(r'(?P/[^"]+)"', re.I) url_re2 = re.compile(r"(?P/[^']+)'", re.I) url_re3 = re.compile(r'(?P/[^"]+)"', re.I) url_re4 = re.compile(r"(?P/[^']+)'", re.I) + img_replacement = '\g"%s\g" style="max-width:500px;"' % askbot_settings.APP_URL replacement = '\g"%s\g"' % askbot_settings.APP_URL - text = url_re1.sub(replacement, text) - text = url_re2.sub(replacement, text) + 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) -absolutize_urls = register.filter(absolutize_urls_func) + TIMEZONE_STR = pytz.timezone( django_settings.TIME_ZONE diff --git a/askbot/tests/templatefilter_tests.py b/askbot/tests/templatefilter_tests.py index a82737a4..090be956 100644 --- a/askbot/tests/templatefilter_tests.py +++ b/askbot/tests/templatefilter_tests.py @@ -7,14 +7,16 @@ class AbsolutizeUrlsTests(TestCase): askbot_settings.update('APP_URL', 'http://example.com') def test_absolutize_image_urls(self): text = """ """ - output = filters.absolutize_urls_func(text) + #jinja register.filter decorator works in a weird way + output = filters.absolutize_urls[0](text) self.assertEqual( output, - ' ' + ' ' ) def test_absolutize_anchor_urls(self): text = """link link""" - output = filters.absolutize_urls_func(text) + #jinja register.filter decorator works in a weird way + output = filters.absolutize_urls[0](text) self.assertEqual( output, 'link link' -- cgit v1.2.3-1-g7c22