summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-09-20 20:22:28 -0600
committerAdolfo Fitoria <adolfo.fitoria@gmail.com>2012-09-20 20:37:57 -0600
commit03b57bbd1ef4bf46d274c1a580a750aadea2270c (patch)
tree42421626848efbd9661460e9829131d3ee3158dc
parent5a3167df967f982e650faebf9e7de8de9abdfebe (diff)
downloadaskbot-03b57bbd1ef4bf46d274c1a580a750aadea2270c.tar.gz
askbot-03b57bbd1ef4bf46d274c1a580a750aadea2270c.tar.bz2
askbot-03b57bbd1ef4bf46d274c1a580a750aadea2270c.zip
uploaded images work again on emails notifications
-rw-r--r--askbot/models/post.py3
-rw-r--r--askbot/skins/default/templates/email/macros.html3
-rw-r--r--askbot/templatetags/extra_filters_jinja.py10
-rw-r--r--askbot/tests/templatefilter_tests.py8
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 %}
</p>
{% 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<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
replacement = '\g<prefix>"%s\g<url>"' % 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 = """<img class="junk" src="/some.gif"> <IMG SRC='/some.png'>"""
- output = filters.absolutize_urls_func(text)
+ #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"> <IMG SRC="http://example.com/some.png">'
+ '<img class="junk" src="http://example.com/some.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>"""
- output = filters.absolutize_urls_func(text)
+ #jinja register.filter decorator works in a weird way
+ output = filters.absolutize_urls[0](text)
self.assertEqual(
output,
'<a class="junk" href="http://example.com/something">link</a> <A HREF="http://example.com/something">link</A>'