pywin32-checkins Mailing List for Python for Windows Extensions (Page 140)
OLD project page for the Python extensions for Windows
Brought to you by:
mhammond
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
(2) |
May
(1) |
Jun
(6) |
Jul
(50) |
Aug
(11) |
Sep
(24) |
Oct
(184) |
Nov
(118) |
Dec
(22) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(31) |
Feb
(25) |
Mar
(34) |
Apr
(105) |
May
(49) |
Jun
(38) |
Jul
(39) |
Aug
(7) |
Sep
(98) |
Oct
(79) |
Nov
(20) |
Dec
(17) |
2005 |
Jan
(66) |
Feb
(32) |
Mar
(43) |
Apr
(30) |
May
(58) |
Jun
(30) |
Jul
(16) |
Aug
(4) |
Sep
(21) |
Oct
(42) |
Nov
(11) |
Dec
(14) |
2006 |
Jan
(42) |
Feb
(30) |
Mar
(22) |
Apr
(1) |
May
(9) |
Jun
(15) |
Jul
(20) |
Aug
(9) |
Sep
(8) |
Oct
(1) |
Nov
(9) |
Dec
(43) |
2007 |
Jan
(52) |
Feb
(45) |
Mar
(20) |
Apr
(12) |
May
(59) |
Jun
(39) |
Jul
(35) |
Aug
(31) |
Sep
(17) |
Oct
(20) |
Nov
(4) |
Dec
(4) |
2008 |
Jan
(28) |
Feb
(111) |
Mar
(4) |
Apr
(27) |
May
(40) |
Jun
(27) |
Jul
(32) |
Aug
(94) |
Sep
(87) |
Oct
(153) |
Nov
(336) |
Dec
(331) |
2009 |
Jan
(298) |
Feb
(127) |
Mar
(20) |
Apr
(8) |
May
|
Jun
(10) |
Jul
(6) |
Aug
|
Sep
(2) |
Oct
(2) |
Nov
|
Dec
(1) |
2010 |
Jan
(7) |
Feb
(1) |
Mar
|
Apr
|
May
(15) |
Jun
(4) |
Jul
(3) |
Aug
(28) |
Sep
(1) |
Oct
(19) |
Nov
(16) |
Dec
(6) |
2011 |
Jan
(2) |
Feb
(18) |
Mar
(17) |
Apr
(12) |
May
(5) |
Jun
(11) |
Jul
(7) |
Aug
(2) |
Sep
(2) |
Oct
(4) |
Nov
(4) |
Dec
|
2012 |
Jan
(6) |
Feb
(2) |
Mar
|
Apr
(8) |
May
(4) |
Jun
(3) |
Jul
(13) |
Aug
(27) |
Sep
(8) |
Oct
(9) |
Nov
(3) |
Dec
(2) |
2013 |
Jan
|
Feb
(1) |
Mar
(5) |
Apr
(10) |
May
|
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
(9) |
2014 |
Jan
(2) |
Feb
(4) |
Mar
(4) |
Apr
(1) |
May
(4) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
|
Dec
(1) |
2015 |
Jan
(1) |
Feb
|
Mar
|
Apr
(6) |
May
(2) |
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
|
Nov
|
Dec
|
From: <mha...@us...> - 2004-03-12 08:53:47
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv24051 Modified Files: PyIShellFolder.cpp Log Message: GetUIObjectOf and GetAttributesOf didn't handle inout param correctly. Index: PyIShellFolder.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIShellFolder.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PyIShellFolder.cpp 24 Nov 2003 09:23:47 -0000 1.4 --- PyIShellFolder.cpp 12 Mar 2004 08:34:25 -0000 1.5 *************** *** 564,568 **** obpidl = PyObject_FromPIDLArray(cidl, apidl); PyObject *result; ! HRESULT hr=InvokeViaPolicy("GetAttributesOf", &result, "Ol", obpidl, rgfInOut); Py_XDECREF(obpidl); if (FAILED(hr)) return hr; --- 564,568 ---- obpidl = PyObject_FromPIDLArray(cidl, apidl); PyObject *result; ! HRESULT hr=InvokeViaPolicy("GetAttributesOf", &result, "Ol", obpidl, rgfInOut? *rgfInOut : 0); Py_XDECREF(obpidl); if (FAILED(hr)) return hr; *************** *** 589,593 **** obriid = PyWinObject_FromIID(riid); PyObject *result; ! HRESULT hr=InvokeViaPolicy(szMethodName, &result, "lOOl", hwndOwner, obpidl, obriid, rgfInOut); Py_XDECREF(obpidl); Py_XDECREF(obriid); --- 589,593 ---- obriid = PyWinObject_FromIID(riid); PyObject *result; ! HRESULT hr=InvokeViaPolicy(szMethodName, &result, "lOOl", hwndOwner, obpidl, obriid, rgfInOut ? *rgfInOut : 0); Py_XDECREF(obpidl); Py_XDECREF(obriid); |
From: <mha...@us...> - 2004-03-12 08:52:27
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv23821 Modified Files: shell.cpp shell_pch.h Log Message: Fix a few of the converter functions. Index: shell.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell.cpp,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** shell.cpp 26 Jan 2004 03:57:20 -0000 1.15 --- shell.cpp 12 Mar 2004 08:33:07 -0000 1.16 *************** *** 24,31 **** #include "PyIShellView.h" #include "PyIShellBrowser.h" - /* It appears this was undocumented, and vanished in MSVC7. */ - #ifdef HAVE_BROWSER_FRAME_OPTIONS #include "PyIBrowserFrameOptions.h" - #endif /* HAVE_BROWSER_FRAME_OPTIONS */ #include "PyIPersist.h" #include "PyIPersistFolder.h" --- 24,28 ---- *************** *** 207,214 **** PyObject *PyWinObject_FromRESOURCESTRING(LPCSTR str) { - if (!str) { - Py_INCREF(Py_None); - return Py_None; - } if (HIWORD(str)==0) return PyInt_FromLong(LOWORD(str)); --- 204,207 ---- *************** *** 216,230 **** } ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO **ppci) { ! *ppci = NULL; ! PyErr_SetString(PyExc_NotImplementedError, "CMINVOKECOMMANDINFO not yet supported"); ! return FALSE; } void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ) { - if (pci) - free(pci); } static PyObject *PyString_FromMaybeNullString(const char *sz) { --- 209,230 ---- } ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO *pci) { ! PyObject *obVerb; ! if (!PyArg_ParseTuple(ob, "iiOzziii", &pci->fMask, &pci->hwnd, ! &obVerb, &pci->lpParameters, &pci->lpDirectory, ! &pci->nShow, &pci->dwHotKey, &pci->hIcon)) ! return FALSE; ! if (!PyInt_Check(obVerb)) { ! PyErr_Format(PyExc_TypeError, "verb must be an int (strings not yet supported)"); ! return FALSE; ! } ! pci->lpVerb = MAKEINTRESOURCE(PyInt_AsLong(obVerb)); ! return TRUE; } void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ) { } + static PyObject *PyString_FromMaybeNullString(const char *sz) { *************** *** 368,372 **** &p->dwFlags, &p->dwReserved, &obName)) return FALSE; ! return COPY_TO_WCHAR(ob, p->wszFolder); } --- 368,372 ---- &p->dwFlags, &p->dwReserved, &obName)) return FALSE; ! return COPY_TO_WCHAR(obName, p->wszFolder); } *************** *** 413,421 **** } ! BOOL PyObject_AsSHCOLUMNDATA(PyObject *, SHCOLUMNDATA *) { ! PyErr_SetString(PyExc_NotImplementedError, ! "Not sure how to handle SHCOLUMNDATA pwszExt, and we don't need this anyway :)"); ! return FALSE; } --- 413,431 ---- } ! BOOL PyObject_AsSHCOLUMNDATA(PyObject *ob, SHCOLUMNDATA *p) { ! PyObject *obExt, *obFile; ! if (!PyArg_ParseTuple(ob, "iiiOO:SHCOLUMNDATA tuple", ! &p->dwFlags, &p->dwFileAttributes, &p->dwReserved, ! &obExt, &obFile)) ! return FALSE; ! if (!PyWinObject_AsWCHAR(obExt, &p->pwszExt, FALSE)) ! return FALSE; ! return COPY_TO_WCHAR(obFile, p->wszFile); ! } ! ! void PyObject_FreeSHCOLUMNDATA(SHCOLUMNDATA *p) ! { ! PyWinObject_FreeWCHAR(p->pwszExt); } *************** *** 983,989 **** PYCOM_INTERFACE_FULL(ShellBrowser), PYCOM_INTERFACE_FULL(EnumIDList), - #ifdef HAVE_BROWSER_FRAME_OPTIONS PYCOM_INTERFACE_FULL(BrowserFrameOptions), - #endif /* HAVE_BROWSER_FRAME_OPTIONS */ PYCOM_INTERFACE_FULL(PersistFolder), PYCOM_INTERFACE_FULL(ColumnProvider), --- 993,997 ---- Index: shell_pch.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell_pch.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** shell_pch.h 8 Oct 2003 23:34:41 -0000 1.3 --- shell_pch.h 12 Mar 2004 08:33:07 -0000 1.4 *************** *** 17,21 **** PyObject *PyObject_FromPIDLArray(UINT cidl, LPCITEMIDLIST *pidl); ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO **ppci); void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ); PyObject *PyObject_FromCMINVOKECOMMANDINFO(const CMINVOKECOMMANDINFO *pci); --- 17,21 ---- PyObject *PyObject_FromPIDLArray(UINT cidl, LPCITEMIDLIST *pidl); ! BOOL PyObject_AsCMINVOKECOMMANDINFO(PyObject *ob, CMINVOKECOMMANDINFO *ppci); void PyObject_FreeCMINVOKECOMMANDINFO( CMINVOKECOMMANDINFO *pci ); PyObject *PyObject_FromCMINVOKECOMMANDINFO(const CMINVOKECOMMANDINFO *pci); |
From: <mha...@us...> - 2004-03-07 00:11:12
|
Update of /cvsroot/pywin32/pywin32/win32/src/win32net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8538 Modified Files: win32netgroup.cpp win32netmisc.cpp win32netuse.cpp win32netuser.cpp Log Message: Try and clarify the docs for the 'resume handle' function. Index: win32netgroup.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32netgroup.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** win32netgroup.cpp 9 Sep 2002 07:43:06 -0000 1.4 --- win32netgroup.cpp 6 Mar 2004 23:55:59 -0000 1.5 *************** *** 271,276 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyGROUP_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject *PyNetGroupEnum(PyObject *self, PyObject *args) { --- 271,280 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyGROUP_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject *PyNetGroupEnum(PyObject *self, PyObject *args) { *************** *** 286,291 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyGROUP_USERS_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject *PyNetGroupGetUsers(PyObject *self, PyObject *args) { --- 290,299 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyGROUP_USERS_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject *PyNetGroupGetUsers(PyObject *self, PyObject *args) { *************** *** 361,366 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyGROUP_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject *PyNetLocalGroupEnum(PyObject *self, PyObject *args) { --- 369,378 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyGROUP_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject *PyNetLocalGroupEnum(PyObject *self, PyObject *args) { *************** *** 399,404 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyLOCALGROUP_MEMBERS_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject *PyNetLocalGroupGetMembers(PyObject *self, PyObject *args) { --- 411,420 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyLOCALGROUP_MEMBERS_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject *PyNetLocalGroupGetMembers(PyObject *self, PyObject *args) { Index: win32netmisc.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32netmisc.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** win32netmisc.cpp 18 Oct 2003 06:04:27 -0000 1.7 --- win32netmisc.cpp 6 Mar 2004 23:55:59 -0000 1.8 *************** *** 343,348 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PySHARE_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject * PyNetShareEnum(PyObject *self, PyObject *args) --- 343,352 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PySHARE_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject * PyNetShareEnum(PyObject *self, PyObject *args) *************** *** 665,670 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PySERVER_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject * PyNetServerEnum(PyObject *self, PyObject *args) --- 669,678 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PySERVER_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject * PyNetServerEnum(PyObject *self, PyObject *args) *************** *** 809,814 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyWKSTA_USER_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject * PyNetWkstaUserEnum(PyObject *self, PyObject *args) --- 817,826 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyWKSTA_USER_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject * PyNetWkstaUserEnum(PyObject *self, PyObject *args) *************** *** 950,955 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyWKSTA_TRANSPORT_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject * PyNetWkstaTransportEnum(PyObject *self, PyObject *args) --- 962,971 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyWKSTA_TRANSPORT_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject * PyNetWkstaTransportEnum(PyObject *self, PyObject *args) Index: win32netuse.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32netuse.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** win32netuse.cpp 7 Jun 2003 02:05:08 -0000 1.3 --- win32netuse.cpp 6 Mar 2004 23:55:59 -0000 1.4 *************** *** 154,159 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyUSE_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject * PyNetUseEnum(PyObject *self, PyObject *args) --- 154,163 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyUSE_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject * PyNetUseEnum(PyObject *self, PyObject *args) Index: win32netuser.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32netuser.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** win32netuser.cpp 20 Feb 2001 14:35:44 -0000 1.4 --- win32netuser.cpp 6 Mar 2004 23:55:59 -0000 1.5 *************** *** 339,344 **** // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyUSER_INFO_*>, depending on the level parameter), ! // the total available, and a "resume handle". If the result handle is true, you should call ! // this function again to fetch more data, passing this handle in the resumeHandle param. PyObject *PyNetUserEnum(PyObject *self, PyObject *args) { --- 339,348 ---- // @rdesc The result is a list of items read (with each item being a dictionary of format // <o PyUSER_INFO_*>, depending on the level parameter), ! // the total available, and a new "resume handle". The first time you call ! // this function, you should pass zero for the resume handle. If more data ! // is available than what was returned, a new non-zero resume handle will be ! // returned, which can be used to call the function again to fetch more data. ! // This process may repeat, each time with a new resume handle, until zero is ! // returned for the new handle, indicating all the data has been read. PyObject *PyNetUserEnum(PyObject *self, PyObject *args) { |
From: <mha...@us...> - 2004-03-07 00:10:52
|
Update of /cvsroot/pywin32/pywin32/win32/src/win32net In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv8411 Modified Files: win32netmodule.cpp Log Message: Wrap out Enum function in a win32 exception handler, to prevent a bad resume handle from crashing Python (now it will raise a win32 error with ERROR_INVALID_PARAMETER Index: win32netmodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32net/win32netmodule.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** win32netmodule.cpp 7 Apr 2003 12:46:32 -0000 1.12 --- win32netmodule.cpp 6 Mar 2004 23:55:39 -0000 1.13 *************** *** 325,331 **** goto done; ! Py_BEGIN_ALLOW_THREADS ! err = (*pfn)(szServer, level, &buf, dwPrefLen, &numRead, &totalEntries, &resumeHandle); ! Py_END_ALLOW_THREADS if (err!=0 && err != ERROR_MORE_DATA) { ReturnNetError(fnname,err); --- 325,342 ---- goto done; ! Py_BEGIN_ALLOW_THREADS ! /* Bad resume handles etc can cause access violations here - catch them. */ ! __try { ! err = (*pfn)(szServer, level, &buf, dwPrefLen, &numRead, &totalEntries, &resumeHandle); ! } ! #if defined(__MINGW32__) || defined(MAINWIN) ! catch(...) ! #else ! __except( EXCEPTION_EXECUTE_HANDLER ) ! #endif ! { ! err = ERROR_INVALID_PARAMETER; ! } ! Py_END_ALLOW_THREADS if (err!=0 && err != ERROR_MORE_DATA) { ReturnNetError(fnname,err); |
From: <th...@us...> - 2004-03-03 20:49:51
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13728 Modified Files: win32file.i Log Message: The summary description of the WSAAsyncSelect function was also wrong. Index: win32file.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32file.i,v retrieving revision 1.37 retrieving revision 1.38 diff -C2 -d -r1.37 -r1.38 *** win32file.i 3 Mar 2004 20:29:50 -0000 1.37 --- win32file.i 3 Mar 2004 20:37:04 -0000 1.38 *************** *** 1783,1787 **** %} ! // @pyswig |WSAAsyncSelect|Specifies an event object to be associated with the supplied set of FD_XXXX network events. %name(WSAAsyncSelect) PyObject *MyWSAAsyncSelect ( --- 1783,1787 ---- %} ! // @pyswig |WSAAsyncSelect|Request windows message notification for the supplied set of FD_XXXX network events. %name(WSAAsyncSelect) PyObject *MyWSAAsyncSelect ( |
From: <th...@us...> - 2004-03-03 20:42:37
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12220 Modified Files: win32file.i Log Message: In the docs, WSAEventSelect appears twice - one must be replaced by WSAAsyncSelect. Index: win32file.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32file.i,v retrieving revision 1.36 retrieving revision 1.37 diff -C2 -d -r1.36 -r1.37 *** win32file.i 28 Feb 2004 19:15:52 -0000 1.36 --- win32file.i 3 Mar 2004 20:29:50 -0000 1.37 *************** *** 1783,1787 **** %} ! // @pyswig |WSAEventSelect|Specifies an event object to be associated with the supplied set of FD_XXXX network events. %name(WSAAsyncSelect) PyObject *MyWSAAsyncSelect ( --- 1783,1787 ---- %} ! // @pyswig |WSAAsyncSelect|Specifies an event object to be associated with the supplied set of FD_XXXX network events. %name(WSAAsyncSelect) PyObject *MyWSAAsyncSelect ( |
From: <ru...@us...> - 2004-02-28 19:25:33
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7519/win32/src Modified Files: win32file.i Log Message: In FindFilesW, pass unicode unmodified and also accept char args Index: win32file.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32file.i,v retrieving revision 1.35 retrieving revision 1.36 diff -C2 -d -r1.35 -r1.36 *** win32file.i 26 Jan 2004 23:34:56 -0000 1.35 --- win32file.i 28 Feb 2004 19:15:52 -0000 1.36 *************** *** 347,365 **** PyFindFilesW(PyObject *self, PyObject *args) { ! char *fileSpec; // @pyparm string|fileSpec||A string that specifies a valid directory or path and filename, which can contain wildcard characters (* and ?). ! ! if (!PyArg_ParseTuple (args, "s:FindFilesW", &fileSpec)) return NULL; WIN32_FIND_DATAW findData; // @pyseeapi FindFirstFile HANDLE hFind; - int len=strlen(fileSpec); - WCHAR *pBuf = new WCHAR[len+1]; - if (0==MultiByteToWideChar( CP_ACP, 0, fileSpec, len+1, pBuf, sizeof(WCHAR)*(len+1))) - return PyWin_SetAPIError("MultiByteToWideChar"); - hFind = ::FindFirstFileW(pBuf, &findData); - delete [] pBuf; if (hFind==INVALID_HANDLE_VALUE) { if (::GetLastError()==ERROR_FILE_NOT_FOUND) { // this is OK --- 347,363 ---- PyFindFilesW(PyObject *self, PyObject *args) { ! WCHAR *fileSpec; // @pyparm string|fileSpec||A string that specifies a valid directory or path and filename, which can contain wildcard characters (* and ?). ! PyObject *obfileSpec=NULL; ! if (!PyArg_ParseTuple (args, "O:FindFilesW", &obfileSpec)) ! return NULL; ! if (!PyWinObject_AsWCHAR(obfileSpec,&fileSpec,FALSE)) return NULL; WIN32_FIND_DATAW findData; // @pyseeapi FindFirstFile HANDLE hFind; + hFind = ::FindFirstFileW(fileSpec, &findData); + PyWinObject_FreeWCHAR(fileSpec); if (hFind==INVALID_HANDLE_VALUE) { if (::GetLastError()==ERROR_FILE_NOT_FOUND) { // this is OK |
From: <ru...@us...> - 2004-02-27 23:45:38
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9839/win32/src Modified Files: win32security.i Log Message: Fix placement of some declarations that were causing an intermittent bug in SetTokenInformation Index: win32security.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32security.i,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** win32security.i 23 Nov 2003 16:42:18 -0000 1.14 --- win32security.i 27 Feb 2004 23:36:20 -0000 1.15 *************** *** 1319,1322 **** --- 1319,1326 ---- static PyObject *PySetTokenInformation(PyObject *self, PyObject *args) { + TOKEN_DEFAULT_DACL tdd; + TOKEN_OWNER towner; + TOKEN_PRIMARY_GROUP tpg; + DWORD sessionid=0; PyObject *obth; HANDLE th; *************** *** 1337,1368 **** switch (typ) { case TokenOwner: { ! PSID psid; ! TOKEN_OWNER towner; ! if (!PyWinObject_AsSID(obinfo, &psid, FALSE)) ! return NULL; ! if (!IsValidSid(psid)){ ! PyErr_SetString(PyExc_ValueError, "Invalid SID"); return NULL; - } - towner.Owner = psid; buf = (void *)&towner; - if (!IsValidSid(towner.Owner)){ - PyErr_SetString(PyExc_ValueError, "Invalid SID in tokenowner"); - return NULL; - } bufsize = sizeof(TOKEN_OWNER); break; } case TokenPrimaryGroup: { ! PSID psid; ! TOKEN_PRIMARY_GROUP tpg; ! if (!PyWinObject_AsSID(obinfo, &psid, FALSE)) ! return NULL; ! if (!IsValidSid(psid)){ ! PyErr_SetString(PyExc_ValueError, "Invalid SID"); return NULL; - } - ZeroMemory(&tpg,sizeof(TOKEN_PRIMARY_GROUP)); - tpg.PrimaryGroup = psid; buf = (void *)&tpg; bufsize = sizeof(TOKEN_PRIMARY_GROUP); --- 1341,1353 ---- switch (typ) { case TokenOwner: { ! if (!PyWinObject_AsSID(obinfo, &towner.Owner, FALSE)) return NULL; buf = (void *)&towner; bufsize = sizeof(TOKEN_OWNER); break; } case TokenPrimaryGroup: { ! if (!PyWinObject_AsSID(obinfo, &tpg.PrimaryGroup, FALSE)) return NULL; buf = (void *)&tpg; bufsize = sizeof(TOKEN_PRIMARY_GROUP); *************** *** 1370,1378 **** } case TokenDefaultDacl: { ! PACL pacl; ! TOKEN_DEFAULT_DACL tdd; ! if (!PyWinObject_AsACL(obinfo, &pacl, TRUE)) return NULL; - tdd.DefaultDacl = pacl; buf = (void *)&tdd; bufsize = sizeof(TOKEN_DEFAULT_DACL); --- 1355,1360 ---- } case TokenDefaultDacl: { ! if (!PyWinObject_AsACL(obinfo, &tdd.DefaultDacl, TRUE)) return NULL; buf = (void *)&tdd; bufsize = sizeof(TOKEN_DEFAULT_DACL); *************** *** 1380,1384 **** } case TokenSessionId: { ! DWORD sessionid = PyLong_AsUnsignedLong(obinfo); buf = (void *)&sessionid; bufsize = sizeof(DWORD); --- 1362,1366 ---- } case TokenSessionId: { ! sessionid = PyLong_AsUnsignedLong(obinfo); buf = (void *)&sessionid; bufsize = sizeof(DWORD); |
From: <th...@us...> - 2004-02-20 08:21:46
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20334 Modified Files: PythonService.cpp Log Message: Mark (or anyone else) - please review, but this should be correct. There were two different 'pe' variables in this function, and the wrong one was getting set. I know why I prefer C over C++ ;-) Apparently this code is only executed when you try to py2exe a module containing more than one service class. Index: PythonService.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PythonService.cpp,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** PythonService.cpp 11 Nov 2003 23:57:31 -0000 1.12 --- PythonService.cpp 20 Feb 2004 08:10:43 -0000 1.13 *************** *** 749,753 **** } } else ! PY_SERVICE_TABLE_ENTRY *pe = FindPythonServiceEntry(lpszArgv[0]); if (!pe) { LPTSTR lpszStrings[] = {lpszArgv[0], NULL}; --- 749,753 ---- } } else ! pe = FindPythonServiceEntry(lpszArgv[0]); if (!pe) { LPTSTR lpszStrings[] = {lpszArgv[0], NULL}; |
From: <ru...@us...> - 2004-02-13 06:31:49
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20357/win32/src Modified Files: PySID.cpp Log Message: More argument validation in manual SID constructor Index: PySID.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PySID.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** PySID.cpp 7 Nov 2003 03:58:17 -0000 1.8 --- PySID.cpp 13 Feb 2004 06:26:19 -0000 1.9 *************** *** 23,27 **** // @pyparmalt2 [int, ...]|subAuthorities||A list of sub authorities. SID_IDENTIFIER_AUTHORITY sid_ia; ! PyObject *obSubs; if (!PyArg_ParseTuple(args, "(bbbbbb)O:SID", &sid_ia.Value[0], &sid_ia.Value[1],&sid_ia.Value[2], --- 23,29 ---- // @pyparmalt2 [int, ...]|subAuthorities||A list of sub authorities. SID_IDENTIFIER_AUTHORITY sid_ia; ! PyObject *obSubs, *obSubsTuple; ! unsigned long sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7; ! if (!PyArg_ParseTuple(args, "(bbbbbb)O:SID", &sid_ia.Value[0], &sid_ia.Value[1],&sid_ia.Value[2], *************** *** 29,33 **** &obSubs)) return NULL; - unsigned long sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7; if (!PySequence_Check(obSubs)) { PyErr_SetString(PyExc_TypeError, "sub authorities must be a sequence of integers."); --- 31,34 ---- *************** *** 39,55 **** return NULL; } ! #define GET_SUB(i) if (i<numSubs) { \ ! PyObject *t = PySequence_GetItem(obSubs, i);\ ! sub##i = PyLong_AsUnsignedLong(t);\ ! Py_XDECREF(t);\ ! } ! GET_SUB(0); ! GET_SUB(1); ! GET_SUB(2); ! GET_SUB(3); ! GET_SUB(4); ! GET_SUB(5); ! GET_SUB(6); ! GET_SUB(7); PSID pNew; if (!AllocateAndInitializeSid(&sid_ia, numSubs, sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7, &pNew)) --- 40,53 ---- return NULL; } ! obSubsTuple=PySequence_Tuple(obSubs); ! if (!obSubsTuple) ! return NULL; ! BOOL bSuccess=PyArg_ParseTuple(obSubsTuple, "|llllllll:SID", ! &sub0, &sub1, &sub2, &sub3, &sub4, &sub5, &sub6, &sub7); ! Py_DECREF(obSubsTuple); ! if (!bSuccess){ ! PyErr_SetString(PyExc_TypeError, "sub authorities must be a sequence of integers."); ! return NULL; ! } PSID pNew; if (!AllocateAndInitializeSid(&sid_ia, numSubs, sub0, sub1, sub2, sub3, sub4, sub5, sub6, sub7, &pNew)) |
Update of /cvsroot/pywin32/pywin32/Wise/PyWise In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21500/Wise/PyWise Removed Files: .cvsignore Progress.cpp PyWise.DEF PyWise.cpp PyWise.dsp PyWise.dsw PyWise.rc WISEDLL.H resource.h Log Message: Bye-bye WISE, distuils rocks :) --- .cvsignore DELETED --- --- Progress.cpp DELETED --- --- PyWise.DEF DELETED --- --- PyWise.cpp DELETED --- --- PyWise.dsp DELETED --- --- PyWise.dsw DELETED --- --- PyWise.rc DELETED --- --- WISEDLL.H DELETED --- --- resource.h DELETED --- |
From: <mha...@us...> - 2004-02-08 01:21:18
|
Update of /cvsroot/pywin32/pywin32/Wise/Install Scripts In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21500/Wise/Install Scripts Removed Files: FinishInstall.py Log Message: Bye-bye WISE, distuils rocks :) --- Scripts FinishInstall.py DELETED --- |
From: <mha...@us...> - 2004-02-08 01:21:18
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21500/Wise Removed Files: .cvsignore PythonCE.wse brandPythonwin.py brandWin32.py brandWin32com.py brandall.py brandutils.py desc.txt installer.bmp stampWise.py win32all.wse win32all_ver.wse.in Log Message: Bye-bye WISE, distuils rocks :) --- .cvsignore DELETED --- --- PythonCE.wse DELETED --- --- brandPythonwin.py DELETED --- --- brandWin32.py DELETED --- --- brandWin32com.py DELETED --- --- brandall.py DELETED --- --- brandutils.py DELETED --- --- desc.txt DELETED --- --- installer.bmp DELETED --- --- stampWise.py DELETED --- --- win32all.wse DELETED --- --- win32all_ver.wse.in DELETED --- |
From: <mha...@us...> - 2004-02-07 10:53:37
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17030 Modified Files: setup_win32all.py Log Message: Correct the case of directory names, and other minor tweaks so sdist works Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** setup_win32all.py 7 Feb 2004 01:07:59 -0000 1.13 --- setup_win32all.py 7 Feb 2004 09:55:11 -0000 1.14 *************** *** 261,264 **** --- 261,265 ---- if extra not in self.library_dirs and os.path.isdir(extra): self.library_dirs.append(os.path.join(extra)) + self.excluded_extensions = [] # list of (ext, why) def _why_cant_build_extension(self, ext): *************** *** 321,325 **** self.found_libraries = {} - self.excluded_extensions = [] # list of (ext, why) # Here we hack a "pywin32" directory (one of 'win32', 'win32com', --- 322,325 ---- *************** *** 372,376 **** file_util.copy_file( os.path.join(self.build_temp, "scintilla", base_name), ! os.path.join(self.build_lib, "Pythonwin"), verbose = self.verbose, dry_run = self.dry_run) --- 372,376 ---- file_util.copy_file( os.path.join(self.build_temp, "scintilla", base_name), ! os.path.join(self.build_lib, "pythonwin"), verbose = self.verbose, dry_run = self.dry_run) *************** *** 828,834 **** # NOTE: somewhat counter-intuitively, a result list a-la: ! # [('Lib/site-packages\\Pythonwin', ('Pythonwin/license.txt',)),] # will 'do the right thing' in terms of installing licence.txt into ! # 'Lib/site-packages/Pythonwin/licence.txt'. We exploit this to # get 'com/win32com/whatever' installed to 'win32com/whatever' def convert_data_files(files): --- 828,834 ---- # NOTE: somewhat counter-intuitively, a result list a-la: ! # [('Lib/site-packages\\pythonwin', ('pythonwin/license.txt',)),] # will 'do the right thing' in terms of installing licence.txt into ! # 'Lib/site-packages/pythonwin/licence.txt'. We exploit this to # get 'com/win32com/whatever' installed to 'win32com/whatever' def convert_data_files(files): *************** *** 842,845 **** --- 842,847 ---- # We never want CVS flist.exclude_pattern(re.compile(".*\\\\CVS\\\\"), is_regex=1) + flist.exclude_pattern("*.pyc") + flist.exclude_pattern("*.pyo") if not flist.files: raise RuntimeError, "No files match '%s'" % file *************** *** 849,856 **** raise RuntimeError, "No file '%s'" % file files_use = (file,) ! path_use = os.path.dirname(file) ! if path_use.startswith("com/") or path_use.startswith("com\\"): ! path_use = path_use[4:] ! ret.append( (path_use, files_use)) return ret --- 851,859 ---- raise RuntimeError, "No file '%s'" % file files_use = (file,) ! for fname in files_use: ! path_use = os.path.dirname(fname) ! if path_use.startswith("com/") or path_use.startswith("com\\"): ! path_use = path_use[4:] ! ret.append( (path_use, (fname,))) return ret *************** *** 893,907 **** 'win32comext.axcontrol', ! 'Pythonwin.pywin', ! 'Pythonwin.pywin.debugger', ! 'Pythonwin.pywin.dialogs', ! 'Pythonwin.pywin.docking', ! 'Pythonwin.pywin.framework', ! 'Pythonwin.pywin.framework.editor', ! 'Pythonwin.pywin.framework.editor.color', ! 'Pythonwin.pywin.idle', ! 'Pythonwin.pywin.mfc', ! 'Pythonwin.pywin.scintilla', ! 'Pythonwin.pywin.tools', ] --- 896,910 ---- 'win32comext.axcontrol', ! 'pythonwin.pywin', ! 'pythonwin.pywin.debugger', ! 'pythonwin.pywin.dialogs', ! 'pythonwin.pywin.docking', ! 'pythonwin.pywin.framework', ! 'pythonwin.pywin.framework.editor', ! 'pythonwin.pywin.framework.editor.color', ! 'pythonwin.pywin.idle', ! 'pythonwin.pywin.mfc', ! 'pythonwin.pywin.scintilla', ! 'pythonwin.pywin.tools', ] *************** *** 942,946 **** package_dir = {"win32com": "com/win32com", "win32comext": "com/win32comext", ! "Pythonwin": "Pythonwin"}, packages = packages, py_modules = py_modules, --- 945,949 ---- package_dir = {"win32com": "com/win32com", "win32comext": "com/win32comext", ! "pythonwin": "pythonwin"}, packages = packages, py_modules = py_modules, *************** *** 953,976 **** 'pythonwin/license.txt', 'win32/license.txt', ! 'win32/scripts/*.py', ! 'win32/scripts/VersionStamp/*.py', ! 'win32/test/*.py', 'com/win32com/readme.htm', # win32com test utility files. ! 'com/win32com/test/*.txt', ! 'com/win32com/test/*.vbs', ! 'com/win32com/test/*.js', ! 'com/win32com/test/*.sct', ! 'com/win32com/test/*.xsl', # win32com docs 'com/win32com/HTML/*', - 'com/win32com/HTML/image/*', # Active Scripting test and demos. ! 'com/win32comext/axscript/test/*.py', ! 'com/win32comext/axscript/test/*.vbs', ! 'com/win32comext/axscript/test/*.pys', ! 'com/win32comext/axscript/demos/client/ie/*', ! 'com/win32comext/axscript/demos/client/wsh/*', ! 'com/win32comext/axscript/demos/client/asp/*', ]) + # And data files convert_data_files can't handle. --- 956,970 ---- 'pythonwin/license.txt', 'win32/license.txt', ! 'win32/scripts/*', ! 'win32/test/*', ! 'win32/Demos/*', 'com/win32com/readme.htm', # win32com test utility files. ! 'com/win32com/test/*', # win32com docs 'com/win32com/HTML/*', # Active Scripting test and demos. ! 'com/win32comext/axscript/test/*', ! 'com/win32comext/axscript/Demos/*', ]) + # And data files convert_data_files can't handle. *************** *** 989,999 **** what_string += "/installed" # Print the list of extension modules we skipped building. ! excluded_extensions = dist.command_obj['build_ext'].excluded_extensions ! if excluded_extensions: ! print "*** NOTE: The following extensions were NOT %s:" % what_string ! for ext, why in excluded_extensions: ! print " %s: %s" % (ext.name, why) ! else: ! print "All extension modules %s OK" % (what_string,) # Custom script we run at the end of installing - this is the same script --- 983,994 ---- what_string += "/installed" # Print the list of extension modules we skipped building. ! if dist.command_obj.has_key('build_ext'): ! excluded_extensions = dist.command_obj['build_ext'].excluded_extensions ! if excluded_extensions: ! print "*** NOTE: The following extensions were NOT %s:" % what_string ! for ext, why in excluded_extensions: ! print " %s: %s" % (ext.name, why) ! else: ! print "All extension modules %s OK" % (what_string,) # Custom script we run at the end of installing - this is the same script |
From: <mha...@us...> - 2004-02-07 10:06:46
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18609 Modified Files: pywin32_postinstall.py Log Message: Pythonwin may create .cfc files from pywin\*.cfg Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** pywin32_postinstall.py 5 Feb 2004 23:38:03 -0000 1.9 --- pywin32_postinstall.py 7 Feb 2004 10:03:54 -0000 1.10 *************** *** 145,148 **** --- 145,153 ---- # Register the files with the uninstaller file_created(dst) + # Pythonwin 'compiles' config files - record them for uninstall. + pywin_dir = os.path.join(lib_dir, "Pythonwin", "pywin") + for fname in glob.glob(os.path.join(pywin_dir, "*.cfg")): + file_created(fname[:-1] + "c") # .cfg->.cfc + # Register our demo COM objects. RegisterCOMObjects() |
From: <mha...@us...> - 2004-02-07 10:06:15
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18460 Modified Files: .cvsignore Log Message: Ignore MANIFEST and others; nuke old stuff Index: .cvsignore =================================================================== RCS file: /cvsroot/pywin32/pywin32/.cvsignore,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** .cvsignore 6 Mar 2003 03:19:40 -0000 1.4 --- .cvsignore 7 Feb 2004 10:03:09 -0000 1.5 *************** *** 1,12 **** build ! calldll ! datetime ! imaging-1.0 ! installer ! jpython* ! shared* ! xml ! documenttemplate ! pycvs *.exe *.zip --- 1,5 ---- + MANIFEST build ! dist *.exe *.zip |
From: <mha...@us...> - 2004-02-07 09:59:19
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17232 Added Files: MANIFEST.in Log Message: Manifest file for distutils sdist command --- NEW FILE: MANIFEST.in --- # # MANIFEST.in # # Manifest template for creating the pywin32 source distribution. include MANIFEST.in include pythonwin/Scintilla/* include win32/src/*.h include com/win32com/src/*.h |
From: <mha...@us...> - 2004-02-07 02:09:49
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/tools In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11648/pywin/tools Modified Files: browser.py Log Message: Replace regsub with re Index: browser.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/tools/browser.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** browser.py 4 Jun 2000 06:09:20 -0000 1.4 --- browser.py 7 Feb 2004 02:06:57 -0000 1.5 *************** *** 294,298 **** dialog.Dialog.__init__(self, win32ui.IDD_LARGE_EDIT) def OnInitDialog(self): ! import regsub self.SetWindowText(self.title) self.edit = self.GetDlgItem(win32ui.IDC_EDIT1) --- 294,298 ---- dialog.Dialog.__init__(self, win32ui.IDD_LARGE_EDIT) def OnInitDialog(self): ! import re self.SetWindowText(self.title) self.edit = self.GetDlgItem(win32ui.IDC_EDIT1) *************** *** 303,307 **** strval = "Exception getting object value\n\n%s:%s" % (t, v) tb = None ! strval = regsub.gsub('\n','\r\n', strval) self.edit.ReplaceSel(strval) --- 303,307 ---- strval = "Exception getting object value\n\n%s:%s" % (t, v) tb = None ! strval = re.sub('\n','\r\n', strval) self.edit.ReplaceSel(strval) |
From: <mha...@us...> - 2004-02-07 02:09:49
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11648/pywin/framework/editor Modified Files: editor.py Log Message: Replace regsub with re Index: editor.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/editor/editor.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** editor.py 5 Jan 2000 04:05:01 -0000 1.2 --- editor.py 7 Feb 2004 02:06:57 -0000 1.3 *************** *** 22,26 **** import win32con import regex ! import regsub import string import sys, os --- 22,26 ---- import win32con import regex ! import re import string import sys, os *************** *** 106,110 **** if string.find(data[:250],'\r')==-1: win32ui.SetStatusText("Translating from Unix file format - please wait...",1) ! return regsub.gsub('\r*\n','\r\n',data) else: return data --- 106,110 ---- if string.find(data[:250],'\r')==-1: win32ui.SetStatusText("Translating from Unix file format - please wait...",1) ! return re.sub('\r*\n','\r\n',data) else: return data |
From: <mha...@us...> - 2004-02-07 02:09:49
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11648/pywin/framework Modified Files: dlgappcore.py toolmenu.py Log Message: Replace regsub with re Index: dlgappcore.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/dlgappcore.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dlgappcore.py 1 Sep 1999 23:33:45 -0000 1.1 --- dlgappcore.py 7 Feb 2004 02:06:56 -0000 1.2 *************** *** 9,13 **** import sys from pywin.mfc import dialog - import regsub error = "Dialog Application Error" --- 9,12 ---- Index: toolmenu.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/toolmenu.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** toolmenu.py 1 Mar 2000 23:45:47 -0000 1.2 --- toolmenu.py 7 Feb 2004 02:06:56 -0000 1.3 *************** *** 87,95 **** def HandleToolCommand(cmd, code): import traceback ! import regsub global tools (menuString, pyCmd, desc) = tools[cmd] win32ui.SetStatusText("Executing tool %s" % desc, 1) ! pyCmd = regsub.gsub('\\\\n','\n', pyCmd) win32ui.DoWaitCursor(1) oldFlag = None --- 87,95 ---- def HandleToolCommand(cmd, code): import traceback ! import re global tools (menuString, pyCmd, desc) = tools[cmd] win32ui.SetStatusText("Executing tool %s" % desc, 1) ! pyCmd = re.sub('\\\\n','\n', pyCmd) win32ui.DoWaitCursor(1) oldFlag = None |
From: <mha...@us...> - 2004-02-07 02:09:49
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/debugger In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11648/pywin/debugger Modified Files: debugger.py Log Message: Replace regsub with re Index: debugger.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/debugger/debugger.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** debugger.py 6 Oct 2003 13:16:39 -0000 1.11 --- debugger.py 7 Feb 2004 02:06:56 -0000 1.12 *************** *** 14,18 **** import string import os - import regsub import types --- 14,17 ---- |
From: <mha...@us...> - 2004-02-07 01:10:55
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31618 Modified Files: setup_win32all.py Log Message: Add an explicit title, and tweak a few other description strings. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** setup_win32all.py 5 Feb 2004 23:39:50 -0000 1.12 --- setup_win32all.py 7 Feb 2004 01:07:59 -0000 1.13 *************** *** 1,2 **** --- 1,3 ---- + build_number=200 """distutils setup-script for win32all *************** *** 914,920 **** dist = setup(name="pywin32", ! version="200", description="Python for Window Extensions", ! long_description="Includes access to much of the Win32 API, the\n" "ability to create and use COM objects, and the\n" "Pythonwin environment.", --- 915,922 ---- dist = setup(name="pywin32", ! version=build_number, description="Python for Window Extensions", ! long_description="Python extensions for Microsoft Windows\n" ! "Provides access to much of the Win32 API, the\n" "ability to create and use COM objects, and the\n" "Pythonwin environment.", *************** *** 930,933 **** --- 932,936 ---- {"install_script": "pywin32_postinstall.py", "pre_install_script": "pywin32_preinstall.py", + "title": "pywin32 extensions (build %s)" % (build_number,), }, }, |
From: <mha...@us...> - 2004-02-07 01:05:46
|
Update of /cvsroot/pywin32/pywin32/Pythonwin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30369 Modified Files: win32ui.rc Log Message: Change where we read the version string from. Index: win32ui.rc =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32ui.rc,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** win32ui.rc 15 Apr 2002 15:17:16 -0000 1.11 --- win32ui.rc 7 Feb 2004 01:02:58 -0000 1.12 *************** *** 638,642 **** BEGIN DEFPUSHBUTTON "OK",IDOK,184,94,37,14,WS_GROUP ! LTEXT "Version",IDC_ABOUT_VERSION,7,96,122,8 CONTROL "",IDC_EDIT1,"RICHEDIT",ES_MULTILINE | WS_BORDER | WS_VSCROLL | WS_TABSTOP,4,4,219,85,WS_EX_TRANSPARENT --- 638,643 ---- BEGIN DEFPUSHBUTTON "OK",IDOK,184,94,37,14,WS_GROUP ! LTEXT "A very long version string that should wrap", ! IDC_ABOUT_VERSION,7,96,122,16 CONTROL "",IDC_EDIT1,"RICHEDIT",ES_MULTILINE | WS_BORDER | WS_VSCROLL | WS_TABSTOP,4,4,219,85,WS_EX_TRANSPARENT |
From: <mha...@us...> - 2004-02-07 01:05:46
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30369/pywin/framework Modified Files: app.py Log Message: Change where we read the version string from. Index: app.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/app.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** app.py 15 Apr 2002 15:16:35 -0000 1.8 --- app.py 7 Feb 2004 01:02:58 -0000 1.9 *************** *** 332,339 **** self.SetDlgItemText(win32ui.IDC_EDIT1, text) # Get the build number - written by installers. ! # win32all build number ! ver = _GetRegistryValue("SOFTWARE\\Python\\Pythonwin\\Build", None) ! if ver is not None: ! ver = "win32all build %s" % (ver,) if ver is None: # See if we are Part of Active Python --- 332,339 ---- self.SetDlgItemText(win32ui.IDC_EDIT1, text) # Get the build number - written by installers. ! # For distutils build, use the uninstall key. ! key_name = "SOFTWARE\\Microsoft\\Windows\\CurrentVersion" \ ! "\\Uninstall\\pywin32-py%d.%d" % sys.version_info[:2] ! ver = _GetRegistryValue(key_name, "DisplayName") if ver is None: # See if we are Part of Active Python |
From: <mha...@us...> - 2004-02-05 23:46:34
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4877 Added Files: pywin32_preinstall.py Log Message: A pre-install script for win32all. --- NEW FILE: pywin32_preinstall.py --- # Pre-install script for win32all. Note that as this is run before # anything is installed, it must not reference any win32all modules! import sys, os import _winreg # win32con constants (but we can't use win32con!) MB_YESNO = 4 IDYES = 6 IDNO = 7 # for debugging outside of the distutils environment. if 0: try: message_box except NameError: import win32gui def message_box(cap, tit, flags): return win32gui.MessageBox(0, cap, tit, flags) # If there is an old WISE built win32all installed, insist on removing that. app_title = "Python %d.%d combined Win32 extensions" % sys.version_info[:2] key_name = "Software\\Microsoft\\Windows\\CurrentVersion\\Uninstall\\" + \ app_title for root in [_winreg.HKEY_LOCAL_MACHINE, _winreg.HKEY_CURRENT_USER]: try: key = _winreg.OpenKey(root, key_name) prog, type_id = _winreg.QueryValueEx(key, "UninstallString") except OSError, details: prog = None if prog: rc = message_box("An existing version of win32all is installed.\r\n" "This version must be removed before installing this " "version.\r\nIf you do not uninstall the previous " "version,\r\nthe installation will be cancelled." "\r\n\r\nDo you wish to uninstall the existing version?", "Uninstall existing version?", MB_YESNO) if rc == IDNO: raise RuntimeError, "You must uninstall the previous version" # We know out versions used short-names, so a simple 'split()' will # do to parse our args f = os.popen(prog) f.read() f.close() |