[pywin32-checkins] /hgroot/pywin32/pywin32: 8 new changesets
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
From: <pyw...@li...> - 2012-02-12 06:24:29
|
changeset 372a56290024 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=372a56290024 summary: tweaks to changes changeset d9b6c0a8d754 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=d9b6c0a8d754 summary: fix case of files and remove swig_py3k.exe changeset 0ff0ae96efcb in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=0ff0ae96efcb summary: get all tests/samples working in py3k changeset 28d827695ce2 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=28d827695ce2 summary: use public apis for utf8 conversion changeset 1284007afcc8 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=1284007afcc8 summary: ensure we use \r\n line terminators so the install window wraps correctly changeset 5c3a57938569 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=5c3a57938569 summary: build 217 and tweaks to the manifest hacks changeset d6992c8992c7 in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=d6992c8992c7 summary: Added tag b217 for changeset 5c3a57938569 changeset c5c768dabcbd in /hgroot/pywin32/pywin32 details: http://pywin32.hg.sourceforge.net/hgweb/pywin32/pywin32/hgroot/pywin32/pywin32?cmd=changeset;node=c5c768dabcbd summary: merge diffstat: .hgtags | 95 +++++++++++++++++++------------------- CHANGES.txt | 11 ++- MANIFEST.in | 57 +++++++++++----------- Pythonwin/pywin/scintilla/find.py | 1 + isapi/samples/advanced.py | 4 +- isapi/samples/test.py | 4 +- isapi/src/Utils.cpp | 18 ++---- pywin32_postinstall.py | 2 +- setup.py | 47 +++++++++++++----- 9 files changed, 128 insertions(+), 111 deletions(-) diffs (truncated from 401 to 300 lines): diff -r 8fc48a195771 -r c5c768dabcbd .hgtags --- a/.hgtags Thu Jan 19 13:55:10 2012 +1100 +++ b/.hgtags Sun Feb 12 17:22:42 2012 +1100 @@ -1,47 +1,48 @@ -41f1bd66b7021c117875e6b682c497ed6fc2cc10 b206 -3f840c6cf56d1cebf71f6431a4e0efbdfdbad67f b207 -f661faf30bc176e8c7da0f270cacc6efeec6f93b b200 -3cc78fc452fc36735ad7657d55ada4a8c707ce98 b201 -e9680446f9501cea73d8c7cbb4f605ac4735f9f7 b134 -21b963e6aef75c4200cffad4e1d82f00ea7f4004 b135 -5772e8f5879d4e99bd8f011ebd6e22ac77b62326 b132 -cfc3d45d90b99ba94f2a4f0959bc87929c6bd467 b205 -509f3e5d7cf8a3538107fd16f0082c2cbfc6969b b130 -1c7f25ac9159234948ab5b6dc90bbb4a40cdb004 b131 -18e90fae54ee83cd4e843eea420363238310bad7 b208 -66090658b3de364fc0c82f8ba50c8e53c6656c31 b209 -fc11455ae6b156ef2f5de8c9278249ca331f62d0 py3k-merge-complete -be3f97064797e0ca0cd74e9eaa87165e10f7cad1 ActivePython210 -dc1672d20522850fae56111e22ccb5685f42f595 ActivePython211 -4273326c4e0d7bf084a6f9b2053d932e22a931be b157 -c29a3a48e23333cf69bf06e38709fb95dc1c4e0b b151 -84e9214951e2e643b4cc69f3aeb65096a9084333 b153 -627797aca18f5da4f850d1ce7a3b92551a00d9dc b159 -4381189ca772314be36c8f3ab6405df2b0e3054c b214 -6c8737a7ad24df7221bb5185454b9eea9ace1e43 b139 -78f2b0c832f605e114e054428b0c7cbb5b604b3f adodbapi_2_1 -0059bca6a08fd0f53ed15c53dd9c7cdf4f30277a b213 -e2bf22f83e33af157d585b97c84396a9e29517e2 b212 -2d64b7bd69085ff1a205082a342ceaa901b315db b211 -0368e8bf35fe715afdc8cd4e0f14207395d57b0f a2 -a9c6f2e0d1c9abe01912609898571aa392b872c7 b216 -3ed66b823bbf0deb92a34c86dd1dd6814bb48c5e b127 -389edbdcad88a68b57d3d4a75bc86c8804cf49c0 b126 -cc382129d3bedf1392fbb44b9ded529ff6b4de0e b129 -b64d19fa71db1cbc33c29d6ba5b4941beae80c8e b128 -9f6fdae45eb75468d6c09c77782219879c4c50bf b215 -06b7c2aead8d38bb7364b4efbdff51e5afb7f839 b147 -bdd4dbfaa9bc4b4758a912daeb8d30c3ec12d081 b146 -9dbc9b744bd27066f74d9c09da70866d99fe71f7 b145 -81514808c099a0060e5318b7e5dc1c53c6ebb3ab ActivePython202 -7900668f7ffb11e819e1a3ae8755f86c89552fcd b142 -917d31f81f0044a01c2c3516e2cf080a33206f97 b141 -1a192704d03f2c0b9cd0fb7fa59b6df51b696973 b140 -59e2f06b53e4d3ea81109e76bd686677d34d21f4 adodbapi_2_2_2 -972b58e9f118695958deebe404726e4f957f0e8b b202 -54c1f0e5035e1bd2cd38761b830778f91fd0f1d0 b149 -f21d815cbde468897d74c4f9c4de09ab8306c405 b148 -a8e244f6bb667d07c1d4b4ad1e163f3a99f7eaae b203 -b634f1c59fb9b502d2c1ee9e692e4067d7940901 b129f -c3eb7ad6c64194e120ad9037fa6299b7c6a6ef1e b204 -6ccccc93a646531a4fb0d904b83e18d324c59d01 cvs2hg +41f1bd66b7021c117875e6b682c497ed6fc2cc10 b206 +3f840c6cf56d1cebf71f6431a4e0efbdfdbad67f b207 +f661faf30bc176e8c7da0f270cacc6efeec6f93b b200 +3cc78fc452fc36735ad7657d55ada4a8c707ce98 b201 +e9680446f9501cea73d8c7cbb4f605ac4735f9f7 b134 +21b963e6aef75c4200cffad4e1d82f00ea7f4004 b135 +5772e8f5879d4e99bd8f011ebd6e22ac77b62326 b132 +cfc3d45d90b99ba94f2a4f0959bc87929c6bd467 b205 +509f3e5d7cf8a3538107fd16f0082c2cbfc6969b b130 +1c7f25ac9159234948ab5b6dc90bbb4a40cdb004 b131 +18e90fae54ee83cd4e843eea420363238310bad7 b208 +66090658b3de364fc0c82f8ba50c8e53c6656c31 b209 +fc11455ae6b156ef2f5de8c9278249ca331f62d0 py3k-merge-complete +be3f97064797e0ca0cd74e9eaa87165e10f7cad1 ActivePython210 +dc1672d20522850fae56111e22ccb5685f42f595 ActivePython211 +4273326c4e0d7bf084a6f9b2053d932e22a931be b157 +c29a3a48e23333cf69bf06e38709fb95dc1c4e0b b151 +84e9214951e2e643b4cc69f3aeb65096a9084333 b153 +627797aca18f5da4f850d1ce7a3b92551a00d9dc b159 +4381189ca772314be36c8f3ab6405df2b0e3054c b214 +6c8737a7ad24df7221bb5185454b9eea9ace1e43 b139 +78f2b0c832f605e114e054428b0c7cbb5b604b3f adodbapi_2_1 +0059bca6a08fd0f53ed15c53dd9c7cdf4f30277a b213 +e2bf22f83e33af157d585b97c84396a9e29517e2 b212 +2d64b7bd69085ff1a205082a342ceaa901b315db b211 +0368e8bf35fe715afdc8cd4e0f14207395d57b0f a2 +a9c6f2e0d1c9abe01912609898571aa392b872c7 b216 +3ed66b823bbf0deb92a34c86dd1dd6814bb48c5e b127 +389edbdcad88a68b57d3d4a75bc86c8804cf49c0 b126 +cc382129d3bedf1392fbb44b9ded529ff6b4de0e b129 +b64d19fa71db1cbc33c29d6ba5b4941beae80c8e b128 +9f6fdae45eb75468d6c09c77782219879c4c50bf b215 +06b7c2aead8d38bb7364b4efbdff51e5afb7f839 b147 +bdd4dbfaa9bc4b4758a912daeb8d30c3ec12d081 b146 +9dbc9b744bd27066f74d9c09da70866d99fe71f7 b145 +81514808c099a0060e5318b7e5dc1c53c6ebb3ab ActivePython202 +7900668f7ffb11e819e1a3ae8755f86c89552fcd b142 +917d31f81f0044a01c2c3516e2cf080a33206f97 b141 +1a192704d03f2c0b9cd0fb7fa59b6df51b696973 b140 +59e2f06b53e4d3ea81109e76bd686677d34d21f4 adodbapi_2_2_2 +972b58e9f118695958deebe404726e4f957f0e8b b202 +54c1f0e5035e1bd2cd38761b830778f91fd0f1d0 b149 +f21d815cbde468897d74c4f9c4de09ab8306c405 b148 +a8e244f6bb667d07c1d4b4ad1e163f3a99f7eaae b203 +b634f1c59fb9b502d2c1ee9e692e4067d7940901 b129f +c3eb7ad6c64194e120ad9037fa6299b7c6a6ef1e b204 +6ccccc93a646531a4fb0d904b83e18d324c59d01 cvs2hg +5c3a57938569a9a0321b59037bddf99721f61f95 b217 diff -r 8fc48a195771 -r c5c768dabcbd CHANGES.txt --- a/CHANGES.txt Thu Jan 19 13:55:10 2012 +1100 +++ b/CHANGES.txt Sun Feb 12 17:22:42 2012 +1100 @@ -6,6 +6,8 @@ Since build 216: ---------------- +* ISAPI extension works with Python 3.x + * Python service module will now have their directory added to the start of sys.path rather than the end to avoid cryptic error messages if a module of the same name is already on the path (rvolpe via #3194663) @@ -59,12 +61,13 @@ * Source-code management moved from CVS to Mercurual. -* win32com.shell - Added SHCreateShellItem +* win32com.shell - Added SHCreateShellItem and fixed some 64bit issues. -* win32evtlog - Added some of the new event log functions introduced in Vista/Windows 7 +* win32evtlog - Added some of the new event log functions introduced in + Vista/Windows 7 -* win32service - Added EnumServicesStatusEx, and support startup type "delayed" - for Python services +* win32service - Added EnumServicesStatusEx, and support startup type + "delayed" for Python services * win32net - Fix a problem with NetFileEnum on 64-bit (bug #3376041) diff -r 8fc48a195771 -r c5c768dabcbd MANIFEST.in --- a/MANIFEST.in Thu Jan 19 13:55:10 2012 +1100 +++ b/MANIFEST.in Sun Feb 12 17:22:42 2012 +1100 @@ -89,35 +89,35 @@ include com/win32comext/directsound/test/*.wav # Pythonwin -include pythonwin/pythonwin.cpp -include pythonwin/pythonwin.rc -include pythonwin/stdafxpw.cpp -include pythonwin/*.dsp -include pythonwin/*.h -include pythonwin/res/*.ico -include pythonwin/res/*.ICO -include pythonwin/res/*.bmp -include pythonwin/res/*.BMP -include pythonwin/pywin/*.cfg -include pythonwin/pywin/Demos/*.py -include pythonwin/pywin/Demos/*.txt -include pythonwin/pywin/Demos/app/*.py -include pythonwin/pywin/Demos/app/*.txt -include pythonwin/pywin/Demos/ocx/*.py -include pythonwin/License.txt +include Pythonwin/pythonwin.cpp +include Pythonwin/pythonwin.rc +include Pythonwin/stdafxpw.cpp +include Pythonwin/*.dsp +include Pythonwin/*.h +include Pythonwin/res/*.ico +include Pythonwin/res/*.ICO +include Pythonwin/res/*.bmp +include Pythonwin/res/*.BMP +include Pythonwin/pywin/*.cfg +include Pythonwin/pywin/Demos/*.py +include Pythonwin/pywin/Demos/*.txt +include Pythonwin/pywin/Demos/app/*.py +include Pythonwin/pywin/Demos/app/*.txt +include Pythonwin/pywin/Demos/ocx/*.py +include Pythonwin/License.txt # scintilla -include pythonwin/Scintilla/README* -include pythonwin/Scintilla/License.txt -include pythonwin/Scintilla/makefile_pythonwin -include pythonwin/Scintilla/update.bat -include pythonwin/Scintilla/include/* -include pythonwin/Scintilla/src/* -include pythonwin/Scintilla/win32/*.cxx -include pythonwin/Scintilla/win32/*.h -include pythonwin/Scintilla/win32/*.rc -include pythonwin/Scintilla/win32/*.def -include pythonwin/Scintilla/win32/*.mak -include pythonwin/Scintilla/win32/*.cur +include Pythonwin/Scintilla/README* +include Pythonwin/Scintilla/License.txt +include Pythonwin/Scintilla/makefile_pythonwin +include Pythonwin/Scintilla/update.bat +include Pythonwin/Scintilla/include/* +include Pythonwin/Scintilla/src/* +include Pythonwin/Scintilla/win32/*.cxx +include Pythonwin/Scintilla/win32/*.h +include Pythonwin/Scintilla/win32/*.rc +include Pythonwin/Scintilla/win32/*.def +include Pythonwin/Scintilla/win32/*.mak +include Pythonwin/Scintilla/win32/*.cur # ISAPI include isapi/doc/*.html @@ -136,7 +136,6 @@ # Other tools include SWIG/swig.exe -include SWIG/swig_py3k.exe include SWIG/readme.txt include SWIG/swig_lib/*.i include SWIG/swig_lib/*.swg diff -r 8fc48a195771 -r c5c768dabcbd Pythonwin/pywin/scintilla/find.py --- a/Pythonwin/pywin/scintilla/find.py Thu Jan 19 13:55:10 2012 +1100 +++ b/Pythonwin/pywin/scintilla/find.py Sun Feb 12 17:22:42 2012 +1100 @@ -321,6 +321,7 @@ control.SetSel(0) num = 0 if self.DoFindNext() == FOUND_NORMAL: + num = 1 lastSearch.replaceText = self.editReplaceText.GetWindowText() while _ReplaceIt(control) == FOUND_NORMAL: num = num + 1 diff -r 8fc48a195771 -r c5c768dabcbd isapi/samples/advanced.py --- a/isapi/samples/advanced.py Thu Jan 19 13:55:10 2012 +1100 +++ b/isapi/samples/advanced.py Sun Feb 12 17:22:42 2012 +1100 @@ -85,7 +85,7 @@ win32file.FindNextChangeNotification(self.handle) except win32event.error, details: # handle closed - thread should terminate. - if details[0] != winerror.ERROR_INVALID_HANDLE: + if details.winerror != winerror.ERROR_INVALID_HANDLE: raise break this_time = os.stat(self.filename)[stat.ST_MTIME] @@ -114,7 +114,7 @@ print "Doing reload" raise InternalReloadException - url = ecb.GetServerVariable("URL") + url = ecb.GetServerVariable("UNICODE_URL") if url.endswith("ReportUnhealthy"): ecb.ReportUnhealthy("I'm a little sick") diff -r 8fc48a195771 -r c5c768dabcbd isapi/samples/test.py --- a/isapi/samples/test.py Thu Jan 19 13:55:10 2012 +1100 +++ b/isapi/samples/test.py Sun Feb 12 17:22:42 2012 +1100 @@ -36,7 +36,7 @@ win32file.FindNextChangeNotification(self.handle) except win32event.error, details: # handle closed - thread should terminate. - if details[0] != winerror.ERROR_INVALID_HANDLE: + if details.winerror != winerror.ERROR_INVALID_HANDLE: raise break this_time = os.stat(self.filename)[stat.ST_MTIME] @@ -69,7 +69,7 @@ print "Doing reload" raise InternalReloadException - if ecb.GetServerVariable("URL").endswith("test.py"): + if ecb.GetServerVariable("UNICODE_URL").endswith("test.py"): file_flags = win32con.FILE_FLAG_SEQUENTIAL_SCAN | win32con.FILE_FLAG_OVERLAPPED hfile = win32file.CreateFile(__file__, win32con.GENERIC_READ, 0, None, win32con.OPEN_EXISTING, diff -r 8fc48a195771 -r c5c768dabcbd isapi/src/Utils.cpp --- a/isapi/src/Utils.cpp Thu Jan 19 13:55:10 2012 +1100 +++ b/isapi/src/Utils.cpp Sun Feb 12 17:22:42 2012 +1100 @@ -35,19 +35,11 @@ // some py3k-friendly type conversions. const char *PyISAPIString_AsBytes(PyObject *ob, DWORD *psize /* = NULL */) { + PyObject *obNew = NULL; #if (PY_VERSION_HEX >= 0x03000000) - // py3k - check for unicode object and use default encoding. + // py3k - check for unicode object and use utf-8 encoding. if (PyUnicode_Check(ob)) { - // NOTE: we are using an internal API and it may go away later. - // The implementation in py3k is simply "encode as utf-8" - but using - // this makes our life a little simpler (the value is cached and we - // don't need to manage reference counts) so we stick with it. - // Sadly this changed in 3.3 though... -#if (PY_VERSION_HEX >= 0x03030000) - ob = _PyUnicode_AsDefaultEncodedString(ob); -#else - ob = _PyUnicode_AsDefaultEncodedString(ob, NULL); -#endif + obNew = ob = PyUnicode_AsUTF8String(ob); if (ob == NULL) return NULL; } @@ -59,7 +51,9 @@ } if (psize) *psize = PyString_Size(ob); - return PyString_AsString(ob); + const char *result = PyString_AsString(ob); + Py_XDECREF(obNew); + return result; } // returns the pathname of this module diff -r 8fc48a195771 -r c5c768dabcbd pywin32_postinstall.py --- a/pywin32_postinstall.py Thu Jan 19 13:55:10 2012 +1100 +++ b/pywin32_postinstall.py Sun Feb 12 17:22:42 2012 +1100 @@ -14,7 +14,7 @@ def write(self, what): if self.f is not None: |