[pywin32-bugs] [ pywin32-Bugs-1707248 ] unguarded import for win32timezone
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: SourceForge.net <no...@so...> - 2008-01-11 17:13:40
|
Bugs item #1707248, was opened at 2007-04-25 11:37 Message generated for change (Comment added) made by antoinel You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=551954&aid=1707248&group_id=78018 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. >Category: win32 Group: None Status: Open Resolution: None >Priority: 3 Private: No Submitted By: Antoine LECA (antoinel) Assigned to: Nobody/Anonymous (nobody) Summary: unguarded import for win32timezone Initial Comment: PyWin32 build 210. Here comes the traceback: PythonWin 2.2.3 (#42, May 30 2003, 18:12:08) [MSC 32 bit (Intel)] on win32. Portions Copyright 1994-2006 Mark Hammond - see 'Help/About PythonWin' for further copyright information. >>> import win32timezone Traceback (most recent call last): File "<interactive input>", line 1, in ? File "C:\Python22\Lib\site-packages\win32\lib\win32timezone.py", line 78, in ? import os, _winreg, struct, datetime ImportError: No module named datetime >>> A quick search at google did not return useful hints on this particular one. I am quite confident this bug only shows because of my version (which one I use because of dependency reasons); indeed, http://docs.python.org/lib/module-datetime.html says "New in version 2.3." I spotted a possible replacement for datetime.py{d,c} on 2.2 on pythonweb.org, but this site is currently brocken (HTTP Status:403). At any rate, since this module depends from a feature which is not included in Python 2.2, the 2.2 build of pywin32 should not include the win32timezone module. Alternatively, it could detect the import exception and displays some useful message (like "On Python 2.2, bring the datetime module from <http://some/tested/package>.") I am willingful to test here... as soon as I can put my hands on a suitable datetime.py* module! ---------------------------------------------------------------------- >Comment By: Antoine LECA (antoinel) Date: 2008-01-11 18:13 Message: Logged In: YES user_id=66891 Originator: YES I doubt nobody will ever solve the problem... Nevertheless, I did solve it the following way: I installed an old copy of the pure-Python development of the datetime module that was done some years ago as part of the Zope project. Precisely, I grabbed http://cvs.zope.org/*checkout*/Zope3/src/datetime/Attic/_datetime.py?rev=1.36&hideattic=0 I put the file directly into the win32/lib directory, where win32timezone.py normaly resides. Then I modified win32timezone.py in the following way (also attached): --- win32timezone.py.org Tue Jan 03 10:12:38 2006 +++ win32timezone.py Fri Jan 11 14:02:12 2008 @@ -75,7 +75,12 @@ __vssauthor__ = '$Author: mhammond $'[9:-2] __date__ = '$Modtime: 04-04-14 10:52 $'[10:-2] -import os, _winreg, struct, datetime +import os, _winreg, struct +try: + import datetime +except ImportError: + # Pure Python local version for 2.2- version + import _datetime as datetime class TimeZoneInfo( datetime.tzinfo ): """ I tested it hastily on two installations I have at hand (one is 2.2 and the other is 2.5), and did not detect any problem (besides having to modify the "import datetime" statements, but that is becuase of my low knowledge of Pythn, surely one can make better when you know the lookup rules.) I lowered the status, since I have a working workaround (which is not going to the other station, as it previsouly was...) Now some admin should clean up all this, and close the case. File Added: win32timezone.py.diff ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=551954&aid=1707248&group_id=78018 |