summaryrefslogtreecommitdiff
path: root/apps/blog/signals.py
blob: 798a78f76d795db5a34191d1c69ed63f4e5e1f68 (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
35
36
37
from django.template.loader import render_to_string
from django.conf import settings
from django.template import Context
from django.db.models import get_model
from django.conf import settings

from locations.models import Region,Country,Route

def update_recent(sender, instance, signal, *args, **kwargs):
    if not settings.DEVELOPMENT:
        # Update recent entries static file
        model = get_model('blog', 'entry')
        qs = {'object_list': model.objects.filter(status__exact=1).order_by('-pub_date')[1:4]}
        c = Context(qs)
        t = render_to_string('bin/recent_entries.html',c)
        fpath = '%s%s' %(settings.PROJ_ROOT,'templates/includes/recent_entries.html')
        file = open(fpath, 'w')
        file.write(t)
        file.close()
        # Update map template
        import codecs
        qs = model.objects.filter(status__exact=1)
        cl = Country.objects.filter(visited=True).exclude(name='default')
        rl = Region.objects.all()
        rtl = Route.objects.all()
        c = Context({'object_list':qs, 'country_list':cl,'region_list':rl, 'route_list':rtl})
        t = render_to_string('bin/map_entry_list.html',c)
        fpath = '%s%s' %(settings.PROJ_ROOT,'media/js/mainmap.js')
        file = codecs.open(fpath, 'w','utf8')
        file.write(t)
        file.close()
        c = Context({'country_list':cl,'region_list':rl,'route_list':rtl})
        t = render_to_string('bin/map_sidebar.html',c)
        fpath = '%s%s' %(settings.PROJ_ROOT,'templates/includes/map_sidebar.html')
        file = codecs.open(fpath, 'w','utf8')
        file.write(t)
        file.close()