ferme #503, rss agenda et intégration frontend
[auf_savoirs_en_partage_django.git] / auf_savoirs_en_partage / savoirs / rss.py
1 # -*- encoding: utf-8 -*-
2 from django.core.urlresolvers import reverse
3 from django.contrib.syndication.feeds import Feed
4 from savoirs.models import Actualite
5 from savoirs.lib.calendrier import evenements
6 from datetime import datetime, time
7
8 class FilActualite(Feed):
9 title = "Dernières actualités du portail des ressources scientifiques et pédagogiques de l'AUF"
10 link = '/'
11 description = "Agrégateur de ressources scientifiques et pédagogiques de l'AUF"
12 limitation = 10
13
14 title_template = "savoirs/rss_actualite_titre.html"
15 description_template = "savoirs/rss_actualite_description.html"
16
17 def items(self):
18 return Actualite.objects.filter(visible=True).order_by('-date')[:self.limitation]
19
20 def item_link(self, item):
21 return item.url
22
23 def item_pubdate(self,item):
24 return datetime.combine(item.date, time())
25
26 def item_author_name(self,item):
27 if item.source:
28 return item.source.nom
29
30 class FilEvenement(Feed):
31 title = "Calendrier des ressources scientifiques et pédagogiques de l'AUF"
32 link = '/'
33 description = "Evènements connexes aux ressources scientifiques et pédagogiques de l'AUF"
34
35 title_template = "savoirs/rss_evenement_titre.html"
36 description_template = "savoirs/rss_evenement_description.html"
37
38 def items(self):
39 return evenements()
40
41 def item_link(self, item):
42 return reverse('savoirs.views.evenement', args=[item.uid.value])
43
44 def item_pubdate(self,item):
45 return item.dtstart.value
46
47 def item_author_name(self,item):
48 return ""