diff --git a/GooCalendar/Calendar.py b/GooCalendar/Calendar.py index e39abbe6986537fa6f923360cfa6645a1d43e85c_R29vQ2FsZW5kYXIvQ2FsZW5kYXIucHk=..521a9d6fcb3de40b08df7d3b40609be5047866c0_R29vQ2FsZW5kYXIvQ2FsZW5kYXIucHk= 100644 --- a/GooCalendar/Calendar.py +++ b/GooCalendar/Calendar.py @@ -16,6 +16,5 @@ class Calendar(goocanvas.Canvas): - ZOOM_MONTH = 1 - ZOOM_WEEK = 2 + ZOOM_LEVELS = ["month", "week"] @@ -21,5 +20,5 @@ - def __init__(self, event_store=None, zoom=ZOOM_MONTH): + def __init__(self, event_store=None, zoom="month"): super(Calendar, self).__init__() self.cal = calendar.Calendar(calendar.SUNDAY) self.today = time.localtime(time.time())[:3] @@ -34,6 +33,7 @@ self._event_added_sigid = None self.set_event_store(event_store) self.event_items = [] + assert zoom in self.ZOOM_LEVELS self.zoom = zoom self.set_bounds(0, 0, 200, 200) self.set_flags(gtk.CAN_FOCUS) @@ -69,5 +69,5 @@ old_day = self.selected_day self.selected_date = new_date[:3] page_changed = False - if self.zoom == self.ZOOM_MONTH: + if self.zoom == "month": page_changed = old_date[1] != new_date[1] @@ -73,5 +73,5 @@ page_changed = old_date[1] != new_date[1] - if self.zoom == self.ZOOM_WEEK: + if self.zoom == "week": page_changed = True # Good enough for now... # This is slow: When the month was changed we need to update @@ -112,5 +112,5 @@ def select_previous_page(self): date = datetime.datetime(*self.selected_date) - if self.zoom == self.ZOOM_MONTH: + if self.zoom == "month": selected_date = util.previous_month(self.cal, date).timetuple()[:3] @@ -116,7 +116,7 @@ selected_date = util.previous_month(self.cal, date).timetuple()[:3] - elif self.zoom == self.ZOOM_WEEK: + elif self.zoom == "week": selected_date = util.previous_week(self.cal, date).timetuple()[:3] self.select_from_tuple(selected_date) def select_next_page(self): date = datetime.datetime(*self.selected_date) @@ -118,7 +118,7 @@ selected_date = util.previous_week(self.cal, date).timetuple()[:3] self.select_from_tuple(selected_date) def select_next_page(self): date = datetime.datetime(*self.selected_date) - if self.zoom == self.ZOOM_MONTH: + if self.zoom == "month": date = util.next_month(self.cal, date) @@ -124,6 +124,6 @@ date = util.next_month(self.cal, date) - elif self.zoom == self.ZOOM_WEEK: + elif self.zoom == "week": date = util.next_week(self.cal, date) self.select(date) def set_zoom(self, level): @@ -126,10 +126,9 @@ date = util.next_week(self.cal, date) self.select(date) def set_zoom(self, level): - if level not in [self.ZOOM_MONTH, self.ZOOM_WEEK]: - raise Exception('Invalid zoom level') - self.zoom = int(level) + assert level in self.ZOOM_LEVELS + self.zoom = level self.update() def get_selected_date(self): @@ -167,5 +166,5 @@ if not self.realized: return self.draw_background() - if self.zoom == self.ZOOM_MONTH: + if self.zoom == "month": self.draw_month() @@ -171,5 +170,5 @@ self.draw_month() - elif self.zoom == self.ZOOM_WEEK: + elif self.zoom == "week": self.draw_week() self.draw_events() @@ -330,7 +329,7 @@ end = event.end.timetuple()[:3] days = [] for weekno, week in enumerate(weeks): - if self.zoom == self.ZOOM_WEEK: + if self.zoom == "week": weekdays = [date.timetuple()[:3] for date in week] if self.selected_date not in weekdays: continue @@ -368,7 +367,7 @@ if not self.event_store: return - if self.zoom == self.ZOOM_MONTH: + if self.zoom == "month": weeks = util.my_monthdatescalendar(self.cal, *self.selected_date) dates = [] for week in weeks: @@ -388,7 +387,7 @@ non_all_day_events = [] for event in events: # Handle non-all-day events differently in week mode. - if self.zoom == self.ZOOM_WEEK and not event.all_day: + if self.zoom == "week" and not event.all_day: non_all_day_events.append(event) continue @@ -450,7 +449,7 @@ event_item.type = 'leftright' event_item.update() - if self.zoom != self.ZOOM_WEEK: + if self.zoom != "week": return # Redraw the timeline. diff --git a/GooCalendar/EventItem.py b/GooCalendar/EventItem.py index e39abbe6986537fa6f923360cfa6645a1d43e85c_R29vQ2FsZW5kYXIvRXZlbnRJdGVtLnB5..521a9d6fcb3de40b08df7d3b40609be5047866c0_R29vQ2FsZW5kYXIvRXZlbnRJdGVtLnB5 100644 --- a/GooCalendar/EventItem.py +++ b/GooCalendar/EventItem.py @@ -31,7 +31,7 @@ self.update() def update(self): - if self.event.all_day or self.cal.zoom == self.cal.ZOOM_MONTH: + if self.event.all_day or self.cal.zoom == "month": self.update_all_day_event() else: self.update_event()