35 lines
1.4 KiB
Python
35 lines
1.4 KiB
Python
|
from django.template.loader import get_template
|
||
|
from django.utils.safestring import mark_safe
|
||
|
from django_social_share.templatetags.social_share import post_to_facebook_url, post_to_gplus_url, post_to_twitter_url
|
||
|
|
||
|
from . import registry
|
||
|
|
||
|
SHARES = [
|
||
|
('post_to_twitter', 'django_social_share/templatetags/post_to_twitter.html', post_to_twitter_url),
|
||
|
('post_to_facebook', 'django_social_share/templatetags/post_to_facebook.html', post_to_facebook_url),
|
||
|
('post_to_gplus', 'django_social_share/templatetags/post_to_gplus.html', post_to_gplus_url),
|
||
|
# For future versions:
|
||
|
# ('post_to_linkedin', 'django_social_share/templatetags/post_to_linkedin.html', post_to_linkedin_url),
|
||
|
# ('post_to_reddit', 'django_social_share/templatetags/post_to_reddit.html', post_to_reddit_url),
|
||
|
]
|
||
|
|
||
|
|
||
|
def make_func(name, template, url_func):
|
||
|
def func(request, *args):
|
||
|
link_text = args[-1]
|
||
|
context = {'request': request, 'link_text': mark_safe(link_text)}
|
||
|
context = url_func(context, *args[:-1])
|
||
|
return mark_safe(get_template(template).render(context))
|
||
|
|
||
|
func.__name__ = name
|
||
|
registry.function(name, func)
|
||
|
|
||
|
|
||
|
for name, template, url_func in SHARES:
|
||
|
make_func(name, template, url_func)
|
||
|
|
||
|
|
||
|
@registry.function
|
||
|
def recaptcha_init(language=None):
|
||
|
return get_template('snowpenguin/recaptcha/recaptcha_init.html').render({'explicit': False, 'language': language})
|