Hi Tim,

On 08/18/2015 12:42 PM, Tim Peters wrote:
[snip]
> But I'd still name it "_later" instead.  It's an implementation detail
> required to make some obscure edge cases work right "by magic" far
> more than an advertised feature users need to worry about (or even be
> aware of).  tzinfo authors need to be acutely aware of it, but since
> silence implies assent I take it we all agree now there are only 2 of
> those ;-)

I'm not a tzinfo author. I recently wrote a scheduling system (using
datetime and pytz), and I made use of pytz's roughly-equivalent `is_dst`
flag in order to detect gaps and folds in a weekly calendar displayed to
the user in local time, so as to (more or less) gracefully prevent the
scheduling of appointments in a nonexistent hour, even though for
visual/layout reasons the nonexistent hour still has to appear on the
calendar. [1] So I'm not sure it's true that this is a flag that only
tzinfo authors will have use for.

That experience is also why I wish PEP 495 had a nicer way to check for
ambiguous/missing times. That project did a _ton_ of "construct naive
datetime by combining date and time, then convert that naive datetime to
a local timezone, raising an error if the resulting local time is
missing or ambiguous." That was trivial with the pytz API: if you
specify `tz.localize(naive_dt, is_dst=None)` you'll get an exception on
an ambiguous or missing result. It sounds less fun with PEP 495 (would
just require a wrapper function to do the conversions, so not too bad --
just feels wrong to do all the conversions twice, when internally
datetime should be able to know enough to just raise the exception I
want right away).

Carl

[1] Fun sidenote: Google Calendar, last I checked, completely fails to
handle this gracefully. If you try to schedule an event in the
nonexistent hour, the UI allows you to proceed, and then you get an
opaque "Unknown error" message.

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Datetime-SIG mailing list
[email protected]
https://mail.python.org/mailman/listinfo/datetime-sig
The PSF Code of Conduct applies to this mailing list: 
https://www.python.org/psf/codeofconduct/

Reply via email to