summaryrefslogtreecommitdiffstats
path: root/main/templatetags/cdn.py
blob: 1923af80112640360b0864112be27ecb17137371 (plain)
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
from django import template
from django.conf import settings

register = template.Library()

@register.simple_tag
def jquery():
    version = '1.4.3'
    oncdn = getattr(settings, 'CDN_ENABLED', True)
    if oncdn:
        link = 'https://ajax.googleapis.com/ajax/libs/jquery/' \
                '%s/jquery.min.js' % version
    else:
        link = '/media/jquery-%s.min.js' % version
    return '<script type="text/javascript" src="%s"></script>' % link

@register.tag
def cdnprefix(parser, token):
    return CDNPrefixNode()

class CDNPrefixNode(template.Node):
    def render(self, context):
        oncdn = getattr(settings, 'CDN_ENABLED', True)
        if not oncdn:
            return ''
        secure = 'secure' in context and context['secure']
        # if left undefined, same behavior as if CDN is turned off
        paths = {
                False: getattr(settings, 'CDN_PATH', ''),
                True: getattr(settings, 'CDN_PATH_SECURE', ''),
        }
        return paths[secure]

# vim: set ts=4 sw=4 et: