diff options
| author | Alban Gruin | 2018-01-24 20:08:18 +0100 | 
|---|---|---|
| committer | Alban Gruin | 2018-01-24 21:15:22 +0100 | 
| commit | ec6ac3179796d002cdb7aef62bd954fb4b27a7e3 (patch) | |
| tree | 6bc109ad36ba909be97db3e7c49601b2088de776 | |
| parent | 94e35d0018cc1210594a08f33ffc27ecfd5bb7ba (diff) | |
Annulation de la conversion des heures au bon fuseau dans l’ICS.
Pour cela, on avait besoin d’insérer un objet vTimezone dans l’en-tête
du fichier, ce qui est assez fastidieux.  À la place, on met une
valeur x-wr-timezone dans les en-têtes.
Ajout de valeurs calscale, method, x-wr-calname et x-wr-caldesc aux ICS.
Revert "Bon fuseau horaire dans les ICS."
This reverts commit e2bc777f7f988cba945c027aaa27d98aa3913a71.
| -rw-r--r-- | feeds.py | 16 | 
1 files changed, 12 insertions, 4 deletions
@@ -21,7 +21,7 @@ from django.db.models.functions import ExtractWeek, ExtractYear  from django.template import loader  from django.urls import reverse  from django.utils.feedgenerator import Atom1Feed, SyndicationFeed -from django.utils.timezone import localtime +from django.utils.timezone import get_current_timezone_name  from icalendar import Calendar, Event @@ -40,6 +40,11 @@ class IcalFeedGenerator(SyndicationFeed):          calendar = Calendar()          calendar.add("prodid", "-//celcatsanitizer//NONSGML v1.0//EN")          calendar.add("version", "2.0") +        calendar.add("calscale", "GREGORIAN") +        calendar.add("method", "PUBLISH") +        calendar.add("x-wr-timezone", get_current_timezone_name()) +        calendar.add("x-wr-calname", self.feed["title"]) +        calendar.add("x-wr-caldesc", self.feed["title"])          self.write_events(calendar)          outfile.write(calendar.to_ical()) @@ -86,12 +91,15 @@ class IcalFeed(Feed):      def item_extra_kwargs(self, item):          return {"uid": "{0}@celcatsanitizer".format(item.id), -                "dtstart": localtime(item.begin), -                "dtend": localtime(item.end), -                "dtstamp": localtime(item.last_update), +                "dtstart": item.begin, +                "dtend": item.end, +                "dtstamp": item.last_update,                  "summary": self.item_summary(item),                  "location": format_rooms(item.rooms.all())} +    def title(self, obj): +        return "Emploi du temps du groupe {0}".format(obj) +  class IcalOnlyOneFeed(IcalFeed):      def items(self, obj):  | 
