Tim Peters wrote: > Note that I'm on Win98SE now (previous email today was on Win2K). > > Under current CVS, but with regrtest hacked not to do sys.exit(): > > C:\Code\python\PCbuild>python -i ../lib/test/regrtest.py test_strptime > test_logging > test_time > test_strptime > test_logging > test_time > All 3 tests OK. > >>>>import forbrett > > time.strftime("%c") > '07/22/03 19:11:50' > > _strptime.TimeRE()['c'] > '(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]| > [1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d) > :(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)' > > locale.getdefaultlocale() > ('en_US', 'cp1252') > > locale.getlocale(locale.LC_TIME) > (None, None) > > > > Again, but reverting Jeremy's test_logging locale fiddling: > > C:\Code\python\PCbuild>python -i ../lib/test/regrtest.py test_strptime > test_logging > test_time > test_strptime > test_logging > test_time > test test_time failed -- Traceback (most recent call last): > File "C:\CODE\PYTHON\lib\test\test_time.py", line 49, in test_strptime > self.fail('conversion specifier: %r failed.' % format) > File "C:\CODE\PYTHON\lib\unittest.py", line 260, in fail > raise self.failureException, msg > AssertionError: conversion specifier: ' %c' failed. > > 2 tests OK. > 1 test failed: > test_time > >>>>import forbrett > > time.strftime("%c") > '07/22/2003 07:14:31 PM' > > _strptime.TimeRE()['c'] > '(?P<m>1[0-2]|0[1-9]|[1-9])/(?P<d>3[0-1]|[1-2]\\d|0[1-9]| > [1-9]| [1-9])/(?P<y>\\d\\d)\\s*(?P<H>2[0-3]|[0-1]\\d|\\d) > :(?P<M>[0-5]\\d|\\d):(?P<S>6[0-1]|[0-5]\\d|\\d)' > > locale.getdefaultlocale() > ('en_US', 'cp1252') > > locale.getlocale(locale.LC_TIME) > ['English_United States', '1252'] > > > > > This is forbrett.py: > > """ > def dump(tag, value): > import pprint > print tag > pprint.pprint(value) > print > > import time > dump('time.strftime("%c")', > time.strftime("%c")) > > import _strptime > dump("_strptime.TimeRE()['c']", > _strptime.TimeRE()['c']) > > > import locale > dump("locale.getdefaultlocale()", > locale.getdefaultlocale()) > > dump("locale.getlocale(locale.LC_TIME)", > locale.getlocale(locale.LC_TIME)) > """ > > [Brett C.] > >>OK, the only thing I can think of is that the locale info has changed >>ever so subtly and the checking of locale.getlocale(locale.LC_TIME)[0] >>or locale.getdefaultlocale()[0] is not cutting it. Next thing to try >>is to see what values locale.getlocale(locale.LC_TIME) and >>locale.getdefaultlocale() have (notice I am asking for the full value >>and not just the 0 item) after each test is run. It is possible the >>cache in _strptime is not being cleared because it is not picking up >>the change in locale by only checking the 0 item. >> I should have been more explicit; I meant after *every* individual test and not after the battery of tests. Either way we can do a quick check, Tim, if you can try out this patch:: Index: Lib/_strptime.py =================================================================== RCS file: /cvsroot/python/python/dist/src/Lib/_strptime.py,v retrieving revision 1.21 diff -u -r1.21 _strptime.py --- Lib/_strptime.py 13 Jul 2003 01:31:38 -0000 1.21 +++ Lib/_strptime.py 22 Jul 2003 23:37:03 -0000 @@ -27,11 +27,11 @@ def _getlang(): # Figure out what the current language is set to. - current_lang = locale.getlocale(locale.LC_TIME)[0] + current_lang = locale.getlocale(locale.LC_TIME) if current_lang: return current_lang else: - current_lang = locale.getdefaultlocale()[0] + current_lang = locale.getdefaultlocale() if current_lang: return current_lang else: We can see if that fixes it. Obviously ignore the test_strptime failures that will pop up because of this. If this does not fix it, then bye-bye caching. >>If there is not some obvious difference in values then the cache will >>have to be deleted and strptime performance will drop but the problem >>will go away. > > > Barry agrees <wink>. Oh good. Last thing I would want is Benevolent Dictator For A Release to disagree with me; must be because we are both American and not Dutch. =) -Brett
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4