package: gdeskcal
version: 0.57.1-1

Invalid dates are passed to Date.add_time.

This can happen if the calendar.ics file is corrupted, or more likely, if a repeat event generates an invalid date.

For example, an event to repeat every month on the 31st will cause an invalid date every second month. More annoyingly, any cross-month repeat event set later than the 28th will be an invalid event in February.

The ValueError exception caused by this invalid date does not halt the program; but the calendar will not show dates until you scroll a month back and forth.

Here's an example calendar.ics stanza that will cause an error:
BEGIN:VEVENT
DTSTART:20031230T080000
SUMMARY:Pay rent
RRULE:FREQ=MONTHLY;INTERVAL=1;COUNT=8
END:VEVENT

If you have a lot of events these can be difficult to find.

Here's a trace (most recent last):
/usr/lib/python2.3/site-packages/gtk-2.0/gtk/__init__.py:90:
GtkDeprecationWarning: gtk.mainloop is deprecated, use gtk.main instead
 self.warn(message, DeprecationWarning)
Traceback (most recent call last):
 File "/usr/share/gdeskcal/code/Cal.py", line 301, in __idle_set_month
   if (self.__planner.get_events(year, month, day)):
 File "/usr/share/gdeskcal/code/planner/Planner.py", line 132, in
get_events
   events += cal.get_events(year, month, day)
 File "/usr/share/gdeskcal/code/planner/cal/Calendar.py", line 42, in
get_events
   if (e.occurs_on(year, month, day)):
 File "/usr/share/gdeskcal/code/planner/cal/CalEvent.py", line 115, in
occurs_on
   self.__compute_recurrences(year)
 File "/usr/share/gdeskcal/code/planner/cal/CalEvent.py", line 43, in
__compute_recurrences
   recs = self.__recs.get_recurrences(self.get_start(), year)
 File "/usr/share/gdeskcal/code/planner/cal/Recurrences.py", line 123,
in get_recurrences
   rule.get_delta(rule.DAY))
 File "/usr/share/gdeskcal/code/planner/cal/Date.py", line 139, in
add_time
   "%Y %m %d")
 File "/usr/lib/python2.3/_strptime.py", line 513, in strptime
   julian = datetime_date(year, month, day).toordinal() - \
ValueError: day is out of range for month

I notified the author of gdeskcal by email in August, but never received a reply.

Cheers.



--
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]



Reply via email to