diff options
| -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): | 
