X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/22faec7d06d45b940424515c9113d9601820d7d3..b7aef858828222a05e57671fa01d3cac78aee3ac:/wxPython/src/_datetime.i diff --git a/wxPython/src/_datetime.i b/wxPython/src/_datetime.i index da3bd3099e..e1d03a945b 100644 --- a/wxPython/src/_datetime.i +++ b/wxPython/src/_datetime.i @@ -366,7 +366,7 @@ public: DocDeclAStr( static void, GetAmPmStrings(wxString *OUTPUT, wxString *OUTPUT), "GetAmPmStrings() -> (am, pm)", - "Get the AM and PM strings in the current locale (may be empty)"); + "Get the AM and PM strings in the current locale (may be empty)", ""); // return True if the given country uses DST for this year static bool IsDSTApplicable(int year = Inv_Year, @@ -713,12 +713,39 @@ public: wxDateTime __sub__(const wxTimeSpan& other) { return *self - other; } wxDateTime __sub__(const wxDateSpan& other) { return *self - other; } - bool __lt__(const wxDateTime* other) { return other ? (*self < *other) : False; } - bool __le__(const wxDateTime* other) { return other ? (*self <= *other) : False; } - bool __gt__(const wxDateTime* other) { return other ? (*self > *other) : True; } - bool __ge__(const wxDateTime* other) { return other ? (*self >= *other) : True; } - bool __eq__(const wxDateTime* other) { return other ? (*self == *other) : False; } - bool __ne__(const wxDateTime* other) { return other ? (*self != *other) : True; } +// bool __lt__(const wxDateTime* other) { return other ? (*self < *other) : False; } +// bool __le__(const wxDateTime* other) { return other ? (*self <= *other) : False; } +// bool __gt__(const wxDateTime* other) { return other ? (*self > *other) : True; } +// bool __ge__(const wxDateTime* other) { return other ? (*self >= *other) : True; } + + + // These fall back to just comparing pointers if other is NULL, or if + // either operand is invalid. + bool __lt__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self < other; + return (*self < *other); + } + bool __le__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self <= other; + return (*self <= *other); + } + bool __gt__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self > other; + return (*self > *other); + } + bool __ge__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self >= other; + return (*self >= *other); + } + + bool __eq__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self == other; + return (*self == *other); + } + bool __ne__(const wxDateTime* other) { + if (!other || !self->IsValid() || !other->IsValid()) return self != other; + return (*self != *other); + } } @@ -809,9 +836,15 @@ public: %pythoncode { def __repr__(self): - return '' % ( self.Format(), self.this) + if self.IsValid(): + return '' % ( self.Format(), self.this) + else: + return '' % self.this def __str__(self): - return self.Format() + if self.IsValid(): + return self.Format() + else: + return "INVALID DateTime" } }; @@ -955,7 +988,7 @@ public: %pythoncode { def __repr__(self): - return '' % ( self.Format(), self.this) + return '' % ( self.Format(), self.this) def __str__(self): return self.Format() }