Repository :
http://git.fedorahosted.org/cgit/fedocal.git
On branch : master
---------------------------------------------------------------
commit 6b3cb5566d9a661931e22c1dbffb38610e5bcd91
Author: Pierre-Yves Chibon <pingou(a)pingoured.fr>
Date: Thu Jan 17 00:53:29 2013 +0100
Add a global iCal feed providing meetings information for all calendars
---------------------------------------------------------------
fedocal/__init__.py | 16 ++++++++++++++++
1 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/fedocal/__init__.py b/fedocal/__init__.py
index ce049e8..1ba4b2f 100644
--- a/fedocal/__init__.py
+++ b/fedocal/__init__.py
@@ -226,6 +226,22 @@ def calendar_list(calendar_name, year, month, day):
admin=admin)
+(a)APP.route('/ical/')
+def ical_all():
+ """ Returns a iCal feed of all calendars from today - 1 month to
+ today + 6 month.
+ """
+ startd = datetime.date.today() - datetime.timedelta(days=30)
+ endd = datetime.date.today() + datetime.timedelta(days=180)
+ ical = vobject.iCalendar()
+ meetings = []
+ for calendar in Calendar.get_all(SESSION):
+ meetings.extend(fedocallib.get_meetings_by_date(SESSION,
+ calendar.calendar_name, startd, endd))
+ fedocallib.add_meetings_to_vcal(ical, meetings)
+ return flask.Response(ical.serialize(), mimetype='text/calendar')
+
+
@APP.route('/ical/<calendar_name>/')
def ical_out(calendar_name):
""" Returns a iCal feed of the calendar from today - 1 month to