much more pep8
[mygpo.git] / mygpo / web / templatetags / facebook.py
blob2b5e9e70b0c9361c0bd654e88f4b0fe4c2f26d96
1 import hashlib
3 from django import template
4 from django.utils.safestring import mark_safe
5 from django.utils.translation import ugettext as _
7 from mygpo.constants import PODCAST_LOGO_BIG_SIZE
8 from mygpo.web.templatetags.podcasts import create_podcast_logo
9 from mygpo.web.utils import get_episode_link_target, get_podcast_link_target
12 register = template.Library()
14 LIKE_BUTTON_STR = """<iframe class="fb_like" src="http://www.facebook.com/plugins/like.php?href=%(url)s&amp;layout=button_count&amp;show_faces=false&amp;width=450&amp;action=like&amp;colorscheme=light&amp;height=21" scrolling="no" frameborder="0" style="border:none; overflow:hidden; width:450px; height:21px;" allowTransparency="true"></iframe>"""
16 #FIXME: remove hardcoded URL
17 # we could convert the filter to a tag once the takes_context
18 # paramter to register.simple_tag() is included in a release, see
19 # http://stackoverflow.com/questions/2160261/access-request-in-django-custom-template-tags
20 # http://docs.djangoproject.com/en/dev/howto/custom-template-tags/#shortcut-for-simple-tags
22 @register.simple_tag
23 def fb_like_episode(episode, podcast):
24 url = 'http://gpodder.net/%s' % get_episode_link_target(episode, podcast)
25 s = LIKE_BUTTON_STR % dict(url=url)
26 return mark_safe(s)
29 @register.filter
30 def fb_like_podcast(podcast):
31 url = 'http://gpodder.net%s' % get_podcast_link_target(podcast)
32 s = LIKE_BUTTON_STR % dict(url=url)
33 return mark_safe(s)
37 OPENGRAPH_STR = """
38 <meta property="og:title" content="%(title)s"/>
39 <meta property="og:type" content="%(type)s"/>
40 <meta property="og:image" content="%(image)s"/>
41 <meta property="og:url" content="%(url)s"/>
42 <meta property="og:site_name" content="%(site_name)s"/>
43 <meta property="og:admins" content="%(admins)s"/>
44 """
46 @register.simple_tag
47 def opengraph_episode(episode, podcast):
48 s = OPENGRAPH_STR % dict(
49 title = episode.title,
50 type = 'episode',
51 image = 'http://gpodder.net%s' % podcast.get_logo_url(PODCAST_LOGO_BIG_SIZE),
52 url = 'http://gpodder.net%s' % get_episode_link_target(episode, podcast),
53 site_name = 'gpodder.net',
54 admins = '0'
56 return s
58 @register.filter
59 def opengraph_podcast(podcast):
60 s = OPENGRAPH_STR % dict(
61 title = podcast.title,
62 type = 'episode',
63 image = 'http://gpodder.net%s' % podcast.get_logo_url(PODCAST_LOGO_BIG_SIZE),
64 url = 'http://gpodder.net%s' % get_podcast_link_target(podcast),
65 site_name = 'gpodder.net',
66 admins = '0'
68 return mark_safe(s)