A simple template filter that detects iPernity static URLs and creates clickable thumbnail for them. Use it with Lightbox or any other funky image overlay script.
Your HTML code may contain this:
<p>A short example <img
src="http://...ipernity..."
title="The Description" />.</p>
After applying this filter it will become:
<p>A short example <a
href="http://...large version..."
title="The Title"><img
alt="The Title"
src="http://...thumb version..."/>
</a>.</p>
Thats all! You may have a look at this: iPernity and static URLs
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | from django import template
from BeautifulSoup import BeautifulSoup, Tag
import re
register = template.Library()
@register.filter(name="iperlink")
def do_iperimage(value):
soup = BeautifulSoup(value)
iprl = re.compile('^(http://\w+\.ipernity\.com/\d+/\d+/\d+/\d+\.\w+\.)(75|100|240|500|560)(\.jpg)$')
iprl_thumb = '240'
iprl_zoom = '560'
for img in soup.findAll('img', src=iprl ):
match = iprl.match(img['src'])
try:
thumb = Tag(soup, 'img')
thumb['alt'] = img['title']
thumb['src'] = match.group(1)+iprl_thumb+match.group(3)
link = Tag(soup, 'a')
link['href'] = match.group(1)+iprl_zoom+match.group(3)
link['rel'] = 'lightbox'
link['title'] = img['title']
link.insert(0, thumb)
img.replaceWith(link)
except:
pass
return unicode(soup)
do_iperimage.is_safe = True
|
More like this
- Browser-native date input field by kytta 1 month, 1 week ago
- Generate and render HTML Table by LLyaudet 1 month, 2 weeks ago
- My firs Snippets by GutemaG 1 month, 2 weeks ago
- FileField having auto upload_to path by junaidmgithub 2 months, 3 weeks ago
- LazyPrimaryKeyRelatedField by LLyaudet 3 months ago
Comments
Please login first before commenting.