X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/44bf767a1d67bd6a2ede60d499ba1b5911fd4cbd..c9c2cf703c1213a7413d41d7d69a5c21b7acb63b:/wxPython/src/mac/calendar.py diff --git a/wxPython/src/mac/calendar.py b/wxPython/src/mac/calendar.py index 64a43d13f8..71b85d2a05 100644 --- a/wxPython/src/mac/calendar.py +++ b/wxPython/src/mac/calendar.py @@ -149,11 +149,11 @@ class CalendarEvent(_core.CommandEvent): def PySetDate(self, date): """takes datetime.datetime or datetime.date object""" - self.SetDate(_py2wx(date)) + self.SetDate(_pydate2wxdate(date)) def PyGetDate(self): """returns datetime.date object""" - return _wx2py(self.GetDate()) + return _wxdate2pydate(self.GetDate()) class CalendarEventPtr(CalendarEvent): @@ -476,19 +476,19 @@ class CalendarCtrl(_core.Control): GetClassDefaultAttributes = staticmethod(GetClassDefaultAttributes) def PySetDate(self, date): """takes datetime.datetime or datetime.date object""" - self.SetDate(_py2wx(date)) + self.SetDate(_pydate2wxdate(date)) def PyGetDate(self): """returns datetime.date object""" - return _wx2py(self.GetDate()) + return _wxdate2pydate(self.GetDate()) def PySetLowerDateLimit(self, date): """takes datetime.datetime or datetime.date object""" - self.SetLowerDateLimit(_py2wx(date)) + self.SetLowerDateLimit(_pydate2wxdate(date)) def PySetUpperDateLimit(self, date): """takes datetime.datetime or datetime.date object""" - self.SetUpperDateLimit(_py2wx(date)) + self.SetUpperDateLimit(_pydate2wxdate(date)) def PySetDateRange(self, lowerdate, upperdate): """takes datetime.datetime or datetime.date objects""" @@ -497,11 +497,11 @@ class CalendarCtrl(_core.Control): def PyGetLowerDateLimit(self): """returns datetime.date object""" - return _wx2py(self.GetLowerDateLimit()) + return _wxdate2pydate(self.GetLowerDateLimit()) def PyGetUpperDateLimit(self): """returns datetime.date object""" - return _wx2py(self.GetUpperDateLimit()) + return _wxdate2pydate(self.GetUpperDateLimit()) class CalendarCtrlPtr(CalendarCtrl): @@ -540,17 +540,20 @@ def CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs): """ return _calendar.CalendarCtrl_GetClassDefaultAttributes(*args, **kwargs) -def _py2wx(date): +def _pydate2wxdate(date): import datetime assert isinstance(date, (datetime.datetime, datetime.date)) tt = date.timetuple() dmy = (tt[2], tt[1]-1, tt[0]) return wx.DateTimeFromDMY(*dmy) -def _wx2py(date): +def _wxdate2pydate(date): import datetime assert isinstance(date, wx.DateTime) - ymd = map(int, date.FormatISODate().split('-')) - return datetime.date(*ymd) + if date.IsValid(): + ymd = map(int, date.FormatISODate().split('-')) + return datetime.date(*ymd) + else: + return None