On 08/25/2015 03:47 PM, Alexander Belopolsky wrote:
On Tue, Aug 25, 2015 at 5:44 PM, Carl Meyer <carl@oddbird.net <mailto:carl@oddbird.net>> wrote:
On 08/25/2015 03:36 PM, Alexander Belopolsky wrote: > > On Tue, Aug 25, 2015 at 5:28 PM, Carl Meyer <carl@oddbird.net <mailto:carl@oddbird.net> > <mailto:carl@oddbird.net <mailto:carl@oddbird.net>>> wrote: >> >> My answer is "only in those same locations where the fold attribute >> would otherwise be checked in order to resolve an ambiguity." > > > This includes utcoffset() which is used in datetime.__eq__. What should > __eq__ do if utcoffset() raises AmbiguousTimeError? Unpatched, it will > propagate the exception resulting in for example x in [y, x, x, x] > raising an error whenever y happened to be fold=-1 ambiguous. Is your > code prepared to handle AmbiguousTimeError whenever you search for a > date in a list? Does it check for fold != -1 before adding a date to a > list?
This is a good question. I can see two defensible choices:
Pick one and try to defend it. In the face of ambiguity ...
I already did that. "while (2) is tenable for `__eq__`, it doesn't have such a neat resolution for inequality comparisons and probably other cases either, so (1) is probably best." and earlier in (1), "This would be entirely fine with me." Carl