Repository :
http://git.fedorahosted.org/cgit/fedocal.git
On branch : master
---------------------------------------------------------------
commit 774a7bbc31267d5044d9f1f68a46db3219603a46
Author: Pierre-Yves Chibon <pingou(a)pingoured.fr>
Date: Mon Nov 26 21:58:22 2012 +0100
Rework the retrieve_meeting_to_remind
Hey look we can do the same thing but in a much nicer way!
---------------------------------------------------------------
fedocal/fedocallib/__init__.py | 33 ++++++++++-----------------------
1 files changed, 10 insertions(+), 23 deletions(-)
diff --git a/fedocal/fedocallib/__init__.py b/fedocal/fedocallib/__init__.py
index a7fa883..c3c5924 100644
--- a/fedocal/fedocallib/__init__.py
+++ b/fedocal/fedocallib/__init__.py
@@ -508,29 +508,16 @@ def retrieve_meeting_to_remind(session, offset=30):
to avoid sending twice the same reminder.
"""
today = datetime.utcnow()
- # Retrieve meeting planned in less than 12h
- new_date = _generate_date_rounded_to_the_hour(today, 12)
- end_date = new_date + timedelta(minutes=offset)
- meetings = Meeting.get_meeting_with_reminder(session,
- new_date.date(), new_date.time(), end_date.time(), 'H-12')
-
- # Retrieve meeting planned in less than 24h
- new_date = _generate_date_rounded_to_the_hour(today, 24)
- end_date = new_date + timedelta(minutes=offset)
- meetings.extend(Meeting.get_meeting_with_reminder(session,
- new_date.date(), new_date.time(), end_date.time(), 'H-24'))
-
- # Retrieve meeting planned in less than 48h
- new_date = _generate_date_rounded_to_the_hour(today, 48)
- end_date = new_date + timedelta(minutes=offset)
- meetings.extend(Meeting.get_meeting_with_reminder(session,
- new_date.date(), new_date.time(), end_date.time(), 'H-48'))
-
- # Retrieve meeting planned in less than 168h
- new_date = _generate_date_rounded_to_the_hour(today, 168)
- end_date = new_date + timedelta(minutes=offset)
- meetings.extend(Meeting.get_meeting_with_reminder(session,
- new_date.date(), new_date.time(), end_date.time(), 'H-168'))
+ meetings = []
+
+ for reminder_time in [12, 24, 48, 168]:
+ # Retrieve meeting planned in less than X hours
+ new_date = _generate_date_rounded_to_the_hour(today,
+ reminder_time)
+ end_date = new_date + timedelta(minutes=offset)
+ meetings.extend(Meeting.get_meeting_with_reminder(session,
+ new_date.date(), new_date.time(), end_date.time(), 'H-%s' %
+ reminder_time))
return meetings