[Python-Dev] Broken strptime in Python 2.3a1 & CVS

Raymond Hettinger python@rcn.com
Tue, 14 Jan 2003 09:35:26 -0500


> We still need to make a final decision about this.  Instead of #undef
> HAVE_STRPTIME, the code in timemodule.c that uses _strptime.py should
> simply be included unconditionally.
> 
> Arguments for always using _strptime.py:
> 
>   - consistency across platforms
> 
>   - avoids buggy or non-conforming platform strptime() implementations
> 
> Arguments for using the platform strptime() if it exists:
> 
>   - speed
> 
>   - may contain platform-specific extensions
> 
>   - consistency with other apps on the same platform


My vote is for always using _strptime.py.

* It is the cleanest solution.

* Someone building new apps would be well advised
to avoid the quirky, bugridden, and non-portable
platform strptime() implementations.  Upon their
next upgrade, their code is a risk of changing behavior.

* Speed is a non-issue.  If it becomes critcal, then the
appropriate part of _strptime.py could be coded in
C to match the pure python version instead of the
system version.

* The only significant con is consistency with other
apps on the same platform.  However cross-platfrom 
consistency is at least as important and python users
should reasonably expect to have it.


my-two-cents-ly yours,


Raymond Hettinger


#################################################################
#################################################################
#################################################################
#####
#####
#####
#################################################################
#################################################################
#################################################################

#################################################################
#################################################################
#################################################################
#####
#####
#####
#################################################################
#################################################################
#################################################################