]> git.saurik.com Git - wxWidgets.git/commitdiff
check that the wxDateTime is valid before converting to datetime
authorRobin Dunn <robin@alldunn.com>
Mon, 13 Sep 2004 23:18:17 +0000 (23:18 +0000)
committerRobin Dunn <robin@alldunn.com>
Mon, 13 Sep 2004 23:18:17 +0000 (23:18 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@29127 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

wxPython/src/calendar.i

index e9bfb8bc4def6ec885d116ee36f16558dc44c503..b28a58bf7a4cfa786bdd2e14bdc140b61d64e73a 100644 (file)
@@ -122,11 +122,11 @@ public:
     %pythoncode {
     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())
     }
 };
 
@@ -422,19 +422,19 @@ The result codes are:
     %pythoncode {
     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"""
@@ -443,27 +443,30 @@ The result codes are:
 
     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())
     }
 };
 
 %pythoncode {
-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
 }
     
 //---------------------------------------------------------------------------