• Tim Peters's avatar
    A new, and much hairier, implementation of astimezone(), building on · 521fc15e
    Tim Peters yazdı
    an idea from Guido.  This restores that the datetime implementation
    never passes a datetime d to a tzinfo method unless d.tzinfo is the
    tzinfo instance whose method is being called.  That in turn allows
    enormous simplifications in user-written tzinfo classes (see the Python
    sandbox US.py and EU.py for fully fleshed-out examples).
    
    d.astimezone(tz) also raises ValueError now if d lands in the one hour
    of the year that can't be expressed in tz (this can happen iff tz models
    both standard and daylight time).  That it used to return a nonsense
    result always ate at me, and it turned out that it seemed impossible to
    force a consistent nonsense result under the new implementation (which
    doesn't know anything about how tzinfo classes implement their methods --
    it can only infer properties indirectly).  Guido doesn't like this --
    expect it to change.
    
    New tests of conversion between adjacent DST-aware timezones don't pass
    yet, and are commented out.
    
    Running the datetime tests in a loop under a debug build leaks 9
    references per test run, but I don't believe the datetime code is the
    cause (it didn't leak the last time I changed the C code, and the leak
    is the same if I disable all the tests that invoke the only function
    that changed here).  I'll pursue that next.
    521fc15e
Adı
Son kayıt (commit)
Son güncelleme
..
expat Loading commit data...
.cvsignore Loading commit data...
Setup.config.in Loading commit data...
Setup.dist Loading commit data...
_bsddb.c Loading commit data...
_codecsmodule.c Loading commit data...
_curses_panel.c Loading commit data...
_cursesmodule.c Loading commit data...
_hotshot.c Loading commit data...
_localemodule.c Loading commit data...
_randommodule.c Loading commit data...
_sre.c Loading commit data...
_ssl.c Loading commit data...
_testcapimodule.c Loading commit data...
_tkinter.c Loading commit data...
_weakref.c Loading commit data...
addrinfo.h Loading commit data...
almodule.c Loading commit data...
ar_beos Loading commit data...
arraymodule.c Loading commit data...
audioop.c Loading commit data...
binascii.c Loading commit data...
bsddbmodule.c Loading commit data...
bz2module.c Loading commit data...
cPickle.c Loading commit data...
cStringIO.c Loading commit data...
ccpython.cc Loading commit data...
cdmodule.c Loading commit data...
cgen.py Loading commit data...
cgensupport.c Loading commit data...
cgensupport.h Loading commit data...
clmodule.c Loading commit data...
cmathmodule.c Loading commit data...
config.c.in Loading commit data...
cryptmodule.c Loading commit data...
cstubs Loading commit data...
datetimemodule.c Loading commit data...
dbmmodule.c Loading commit data...
dlmodule.c Loading commit data...
errnomodule.c Loading commit data...
fcntlmodule.c Loading commit data...
flmodule.c Loading commit data...
fmmodule.c Loading commit data...
fpectlmodule.c Loading commit data...
fpetestmodule.c Loading commit data...
gcmodule.c Loading commit data...
gdbmmodule.c Loading commit data...
getaddrinfo.c Loading commit data...
getbuildinfo.c Loading commit data...
getnameinfo.c Loading commit data...
getpath.c Loading commit data...
glmodule.c Loading commit data...
grpmodule.c Loading commit data...
imageop.c Loading commit data...
imgfile.c Loading commit data...
ld_so_aix Loading commit data...
ld_so_beos Loading commit data...
linuxaudiodev.c Loading commit data...
main.c Loading commit data...
makesetup Loading commit data...
makexp_aix Loading commit data...
mathmodule.c Loading commit data...
md5.h Loading commit data...
md5c.c Loading commit data...
md5module.c Loading commit data...
mmapmodule.c Loading commit data...
mpzmodule.c Loading commit data...
nismodule.c Loading commit data...
operator.c Loading commit data...
ossaudiodev.c Loading commit data...
parsermodule.c Loading commit data...
pcre-int.h Loading commit data...
pcre.h Loading commit data...
pcremodule.c Loading commit data...
posixmodule.c Loading commit data...
puremodule.c Loading commit data...
pwdmodule.c Loading commit data...
pyexpat.c Loading commit data...
pypcre.c Loading commit data...
python.c Loading commit data...
readline.c Loading commit data...
regexmodule.c Loading commit data...
regexpr.c Loading commit data...
regexpr.h Loading commit data...
resource.c Loading commit data...
rgbimgmodule.c Loading commit data...
rotormodule.c Loading commit data...
selectmodule.c Loading commit data...
sgimodule.c Loading commit data...
shamodule.c Loading commit data...
signalmodule.c Loading commit data...
socketmodule.c Loading commit data...
socketmodule.h Loading commit data...
sre.h Loading commit data...
sre_constants.h Loading commit data...
stropmodule.c Loading commit data...
structmodule.c Loading commit data...
sunaudiodev.c Loading commit data...
svmodule.c Loading commit data...
symtablemodule.c Loading commit data...
syslogmodule.c Loading commit data...
termios.c Loading commit data...
testcapi_long.h Loading commit data...
threadmodule.c Loading commit data...
timemodule.c Loading commit data...
timing.h Loading commit data...
timingmodule.c Loading commit data...
tkappinit.c Loading commit data...
unicodedata.c Loading commit data...
unicodedata_db.h Loading commit data...
unicodename_db.h Loading commit data...
xreadlinesmodule.c Loading commit data...
xxmodule.c Loading commit data...
xxsubtype.c Loading commit data...
yuv.h Loading commit data...
yuvconvert.c Loading commit data...
zipimport.c Loading commit data...
zlibmodule.c Loading commit data...