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