pywin32-checkins Mailing List for Python for Windows Extensions (Page 157)
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: Thomas H. <th...@py...> - 2003-07-28 06:40:58
|
mha...@us... writes: > Update of /cvsroot/pywin32/pywin32/Wise > In directory sc8-pr-cvs1:/tmp/cvs-serv11346 > > Modified Files: > win32all.wse Mark, while you're working on the installer: wouldn't it be a good idea to include at least pywintypes.lib and pythoncom.lib into the binary distribution? I thought I had seen a feature request, but I cannot find it anymore. It would save the poor users ;-) having to compile pywin32 themselves when they only want to link to the bsic stuff. Thomas |
From: <mha...@us...> - 2003-07-27 23:04:30
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1:/tmp/cvs-serv11346 Modified Files: win32all.wse Log Message: Don't try and copy anything to system32 for non-admin installs. Index: win32all.wse =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/win32all.wse,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** win32all.wse 8 Jul 2003 02:08:51 -0000 1.30 --- win32all.wse 27 Jul 2003 23:04:27 -0000 1.31 *************** *** 18,22 **** Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-155.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au --- 18,22 ---- Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-157.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au *************** *** 382,392 **** item: End Block end item: Set Variable Variable=SYSDLL_PATH Value=%SYS32% end ! remarked item: Set Variable Variable=SYSDLL_PATH ! Value=%MAINDIR% end item: Set Variable --- 382,400 ---- item: End Block end + item: If/While Statement + Variable=USE_HKLM + Value=1 + end item: Set Variable Variable=SYSDLL_PATH Value=%SYS32% end ! item: Else Statement ! end ! item: Set Variable Variable=SYSDLL_PATH ! Value=%PY_INST_PATH% ! end ! item: End Block end item: Set Variable *************** *** 509,513 **** item: Check if File/Dir Exists Pathname=%SYSDLL_PATH%\pywintypes%PYVER_NODOT%.dll ! Message=The file %SYS32%\pywintypes%PYVER_NODOT%.dll Message=can not be deleted. It is likely this file Message=is in use. Please restart your system, --- 517,521 ---- item: Check if File/Dir Exists Pathname=%SYSDLL_PATH%\pywintypes%PYVER_NODOT%.dll ! Message=The file %SYSDLL_PATH%\pywintypes%PYVER_NODOT%.dll Message=can not be deleted. It is likely this file Message=is in use. Please restart your system, *************** *** 538,542 **** item: Check if File/Dir Exists Pathname=%SYSDLL_PATH%\pythoncom%PYVER_NODOT%.dll ! Message=The file %SYS32%\pythoncom%PYVER_NODOT%.dll Message=can not be deleted. It is likely this file Message=is in use. Please restart your system, --- 546,550 ---- item: Check if File/Dir Exists Pathname=%SYSDLL_PATH%\pythoncom%PYVER_NODOT%.dll ! Message=The file %SYSDLL_PATH%\pythoncom%PYVER_NODOT%.dll Message=can not be deleted. It is likely this file Message=is in use. Please restart your system, *************** *** 1242,1246 **** item: Install File Source=e:\src\pythonex\SharedDlls\NT\pdh.dll ! Destination=%SYS32%\pdh.dll Flags=0000001000010011 end --- 1250,1254 ---- item: Install File Source=e:\src\pythonex\SharedDlls\NT\pdh.dll ! Destination=%SYSDLL_PATH%\pdh.dll Flags=0000001000010011 end *************** *** 1255,1259 **** item: Install File Source=e:\src\pythonex\SharedDlls\MSVCIRT.DLL ! Destination=%SYS32%\MSVCIRT.DLL Description=Visual C++ DLLs Flags=0000001000010011 --- 1263,1267 ---- item: Install File Source=e:\src\pythonex\SharedDlls\MSVCIRT.DLL ! Destination=%SYSDLL_PATH%\MSVCIRT.DLL Description=Visual C++ DLLs Flags=0000001000010011 *************** *** 1261,1265 **** item: Install File Source=e:\src\pythonex\SharedDlls\MSVCRT.DLL ! Destination=%SYS32%\MSVCRT.DLL Description=Visual C++ DLLs Flags=0000001000010011 --- 1269,1273 ---- item: Install File Source=e:\src\pythonex\SharedDlls\MSVCRT.DLL ! Destination=%SYSDLL_PATH%\MSVCRT.DLL Description=Visual C++ DLLs Flags=0000001000010011 *************** *** 1370,1374 **** item: Set Variable Variable=PYTHONCOM_DLL ! Value=%SYS32%\PythonCOM%PYVER_NODOT%.dll end item: Install File --- 1378,1382 ---- item: Set Variable Variable=PYTHONCOM_DLL ! Value=%SYSDLL_PATH%\PythonCOM%PYVER_NODOT%.dll end item: Install File *************** *** 1826,1830 **** item: Install File Source=e:\src\pythonex\SharedDlls\MFC42.DLL ! Destination=%SYS32%\MFC42.DLL Flags=0000001000000011 end --- 1834,1838 ---- item: Install File Source=e:\src\pythonex\SharedDlls\MFC42.DLL ! Destination=%SYSDLL_PATH%\MFC42.DLL Flags=0000001000000011 end |
From: <mha...@us...> - 2003-07-27 11:55:56
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv9136 Modified Files: build_for_version.bat Log Message: Shouldn't rely on .py associations being setup. Index: build_for_version.bat =================================================================== RCS file: /cvsroot/pywin32/pywin32/build_for_version.bat,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** build_for_version.bat 6 Mar 2003 03:18:44 -0000 1.1 --- build_for_version.bat 27 Jul 2003 11:55:53 -0000 1.2 *************** *** 2,6 **** call removebuilt.bat if errorlevel 1 goto failed ! set_for_version.py %1 if errorlevel 1 goto failed msdev "Python and Extensions.dsw" /MAKE ALL --- 2,6 ---- call removebuilt.bat if errorlevel 1 goto failed ! python set_for_version.py %1 if errorlevel 1 goto failed msdev "Python and Extensions.dsw" /MAKE ALL |
From: <mha...@us...> - 2003-07-27 11:54:29
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/mapi/src In directory sc8-pr-cvs1:/tmp/cvs-serv8925 Modified Files: PyIMsgStore.i Log Message: Add GetReceiveFolderTable and AbortSubmit Index: PyIMsgStore.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/src/PyIMsgStore.i,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PyIMsgStore.i 1 Sep 1999 23:17:16 -0000 1.1 --- PyIMsgStore.i 27 Jul 2003 11:54:25 -0000 1.2 *************** *** 80,83 **** --- 80,133 ---- %} + %native(GetReceiveFolder) GetReceiveFolder; + %{ + // @pyswig <o PyIID>, string|GetReceiveFolder|Obtains the folder that was established as the destination for incoming messages of a specified message class or the default receive folder for the message store. + PyObject *PyIMsgStore::GetReceiveFolder(PyObject *self, PyObject *args) + { + HRESULT _result; + unsigned long flags; + PyObject *obClass; + TCHAR *szClass; + TCHAR *sz_explicit_class = NULL; + ULONG eid_cb; + LPENTRYID eid_out = NULL; + PyObject *rc = NULL; + + IMsgStore *_swig_self; + if ((_swig_self=GetI(self))==NULL) return NULL; + // @pyparm string|||Message class that is associated with a receive folder. If thid parameter is set to None or an empty string, GetReceiveFolder returns the default receive folder for the message store. + // @pyparm int|flags|| + if(!PyArg_ParseTuple(args,"Ol:OpenEntry",&obClass, &flags)) + goto done; + + if (!PyWinObject_AsTCHAR(obClass, &szClass, TRUE)) + goto done; + + Py_BEGIN_ALLOW_THREADS + _result = (HRESULT )_swig_self->GetReceiveFolder(szClass, flags, &eid_cb, &eid_out, &sz_explicit_class); + Py_END_ALLOW_THREADS + if (FAILED(_result)) { + OleSetOleError(_result); + goto done; + } + + rc = Py_BuildValue("NN", PyString_FromStringAndSize((char *)eid_out, eid_cb), + PyWinObject_FromTCHAR(sz_explicit_class)); + MAPIFreeBuffer(eid_out); + MAPIFreeBuffer(sz_explicit_class); + PyWinObject_FreeTCHAR(szClass); + done: + return rc; + } + + %} + + // @pyswig <o PyIMAPITable>|GetReceiveFolderTable|provides access to the receive folder table, a table that includes information about all of the receive folders for the message store. + HRESULT GetReceiveFolderTable( + unsigned long ulFlags, // @pyparm int|flags||Bitmask of flags that controls table access + IMAPITable **OUTPUT + ); + + // @pyswig int|CompareEntryIDs|Compares two entry identifiers belonging to a particular address book provider to determine if they refer to the same address book object // @rdesc The result is set to TRUE if the two entry identifiers refer to the same object, and FALSE otherwise. *************** *** 126,127 **** --- 176,212 ---- HRESULT GetLastError(HRESULT hr, unsigned long flags, MAPIERROR **OUTPUT); + // @pyswig int|AbortSubmit|Attempts to remove a message from the outgoing queue. + %native(AbortSubmit) AbortSubmit; + %{ + PyObject *PyIMsgStore::AbortSubmit(PyObject *self, PyObject *args) + { + PyObject *rc = NULL; + HRESULT hr; + ULONG cb; + ULONG flags=0; + LPENTRYID peid = NULL; + IMsgStore *_swig_self; + PyObject *obE; + if ((_swig_self=GetI(self))==NULL) return NULL; + if(!PyArg_ParseTuple(args,"O|i:AbortSubmit", + &obE, // @pyparm string|entryId||The entry ID of the item to be aborted. + &flags)) // @pyparm int|flags|0|Reserved - must be zero. + goto done; + + if (!PyWinObject_AsString(obE, (char **)&peid, FALSE, &cb)) + goto done; + + Py_BEGIN_ALLOW_THREADS + hr=_swig_self->AbortSubmit(cb, peid, flags); + Py_END_ALLOW_THREADS + if (FAILED(hr)) + rc = OleSetOleError(hr); + else { + rc = Py_None; + Py_INCREF(Py_None); + } + done: + PyWinObject_FreeString((char *)peid); + return rc; + } + %} |
From: <mha...@us...> - 2003-07-26 14:15:35
|
Update of /cvsroot/pywin32/pywin32/com/win32com/server In directory sc8-pr-cvs1:/tmp/cvs-serv7123 Modified Files: dispatcher.py Log Message: The (apparently unused) debugger hooks still used win32dbg as the default Pythonwin debugger. Index: dispatcher.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/server/dispatcher.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** dispatcher.py 1 Sep 1999 23:01:43 -0000 1.1 --- dispatcher.py 26 Jul 2003 14:15:32 -0000 1.2 *************** *** 188,196 **** when an unexpected exception occurs. ! Requires the win32dbg package. """ def __init__(self, policyClass, ob): ! import win32dbg ! win32dbg.brk() # DEBUGGER Note - You can either: # * Hit Run and wait for a (non Exception class) exception to occur! --- 188,196 ---- when an unexpected exception occurs. ! Requires Pythonwin. """ def __init__(self, policyClass, ob): ! import pywin.debugger ! pywin.debugger.brk() # DEBUGGER Note - You can either: # * Hit Run and wait for a (non Exception class) exception to occur! *************** *** 200,207 **** def _HandleException_(self): ! """ Invoke the win32dbg post mortem capability """ # Save details away. typ, val, tb = exc_info() ! import win32dbg, win32dbg.dbgcon debug = 0 try: --- 200,207 ---- def _HandleException_(self): ! """ Invoke the debugger post mortem capability """ # Save details away. typ, val, tb = exc_info() ! import pywin.debugger, pywin.debugger.dbgcon debug = 0 try: *************** *** 210,219 **** # Use some inside knowledge to borrow a Debugger option which dictates if we # stop at "expected" exceptions. ! debug = win32dbg.GetDebugger().get_option(win32dbg.dbgcon.OPT_STOP_EXCEPTIONS) except: debug = 1 if debug: try: ! win32dbg.post_mortem(tb, typ, val) # The original exception except: traceback.print_exc() --- 210,219 ---- # Use some inside knowledge to borrow a Debugger option which dictates if we # stop at "expected" exceptions. ! debug = pywin.debugger.GetDebugger().get_option(pywin.debugger.dbgcon.OPT_STOP_EXCEPTIONS) except: debug = 1 if debug: try: ! pywin.debugger.post_mortem(tb, typ, val) # The original exception except: traceback.print_exc() |
From: <mha...@us...> - 2003-07-26 14:13:35
|
Update of /cvsroot/pywin32/pywin32/com/win32com/test In directory sc8-pr-cvs1:/tmp/cvs-serv6997 Modified Files: testPyComTest.py Log Message: RegisterInterfaces would fail if gencache had already been run - exercise that here Index: testPyComTest.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/testPyComTest.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** testPyComTest.py 3 Jul 2003 03:44:39 -0000 1.14 --- testPyComTest.py 26 Jul 2003 14:13:33 -0000 1.15 *************** *** 22,25 **** --- 22,30 ---- import sys + # We had a bg where RegisterInterfaces would fail if gencache had + # already been run - exercise that here + from win32com import universal + universal.RegisterInterfaces('{6BCDCB60-5605-11D0-AE5F-CADD4C000000}', 0, 1, 1) + verbose = 0 |
From: <mha...@us...> - 2003-07-26 14:12:14
|
Update of /cvsroot/pywin32/pywin32/com/win32com/server In directory sc8-pr-cvs1:/tmp/cvs-serv6790 Modified Files: register.py Log Message: Remove apply() Index: register.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/server/register.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** register.py 18 Dec 2002 00:52:01 -0000 1.14 --- register.py 26 Jul 2003 14:12:12 -0000 1.15 *************** *** 317,321 **** for args in GetUnregisterServerKeys(clsid, progID, verProgID, customKeys ): ! apply(recurse_delete_key, args) ### it might be nice at some point to "roll back" the independent ProgID --- 317,321 ---- for args in GetUnregisterServerKeys(clsid, progID, verProgID, customKeys ): ! recurse_delete_key(*args) ### it might be nice at some point to "roll back" the independent ProgID *************** *** 462,470 **** flags['debug'] = flags.get('debug',0) or '--debug' in sys.argv if unregisterInfo: ! return apply(UnregisterInfoClasses, classes, flags) if unregister: ! apply(UnregisterClasses, classes, flags) else: ! apply(RegisterClasses, classes, flags) --- 462,470 ---- flags['debug'] = flags.get('debug',0) or '--debug' in sys.argv if unregisterInfo: ! return UnregisterInfoClasses(*classes, **flags) if unregister: ! UnregisterClasses(*classes, **flags) else: ! RegisterClasses(*classes, **flags) |
From: <mha...@us...> - 2003-07-26 14:10:52
|
Update of /cvsroot/pywin32/pywin32/com/win32com/makegw In directory sc8-pr-cvs1:/tmp/cvs-serv6652 Modified Files: makegwparse.py Log Message: Syntax error in the dead, old, makegw. Index: makegwparse.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/makegw/makegwparse.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** makegwparse.py 4 Jun 2000 05:50:03 -0000 1.7 --- makegwparse.py 26 Jul 2003 14:10:49 -0000 1.8 *************** *** 259,263 **** (self.arg.name, notdirected) def GetBuildForInterfacePostCode(self): ! return "\tSysFreeString(%s); % (self.arg.name,) + \ ArgFormatterPythonCOM.GetBuildForInterfacePostCode(self) def GetBuildForGatewayPostCode(self): --- 259,263 ---- (self.arg.name, notdirected) def GetBuildForInterfacePostCode(self): ! return "\tSysFreeString(%s);\n" % (self.arg.name,) + \ ArgFormatterPythonCOM.GetBuildForInterfacePostCode(self) def GetBuildForGatewayPostCode(self): |
From: <mha...@us...> - 2003-07-26 14:08:32
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv6310 Modified Files: win32apimodule.cpp Log Message: Add GetThreadLocale. Index: win32apimodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32apimodule.cpp,v retrieving revision 1.23 retrieving revision 1.24 diff -C2 -d -r1.23 -r1.24 *** win32apimodule.cpp 28 Apr 2003 10:53:20 -0000 1.23 --- win32apimodule.cpp 26 Jul 2003 14:08:29 -0000 1.24 *************** *** 3355,3358 **** --- 3355,3367 ---- } + // @pymethod int|win32api|GetThreadLocale|Returns the current thread's locale. + static PyObject * + PyGetThreadLocale(PyObject *self, PyObject *args) + { + if (!PyArg_ParseTuple(args, ":GetThreadLocale")) + return NULL; + return PyInt_FromLong(GetThreadLocale()); + } + // @pymethod |win32api|OutputDebugString|Sends a string to the Windows debugging device. static PyObject * *************** *** 3924,3927 **** --- 3933,3937 ---- {"GetTempFileName", PyGetTempFileName, 1}, // @pymeth GetTempFileName|Creates a temporary file. {"GetTempPath", PyGetTempPath, 1}, // @pymeth GetTempPath|Returns the path designated as holding temporary files. + {"GetThreadLocale", PyGetThreadLocale, 1}, // @pymeth GetThreadLocale|Returns the current thread's locale. {"GetTickCount", PyGetTickCount, 1}, // @pymeth GetTickCount|Returns the milliseconds since windows started. {"GetTimeZoneInformation", PyGetTimeZoneInformation,1}, // @pymeth GetTimeZoneInformation|Returns the system time-zone information. |
From: <mha...@us...> - 2003-07-26 14:05:53
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv5940 Modified Files: timermodule.cpp Log Message: Plug some reference leaks. Index: timermodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/timermodule.cpp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** timermodule.cpp 9 Feb 2001 07:35:55 -0000 1.2 --- timermodule.cpp 26 Jul 2003 14:05:50 -0000 1.3 *************** *** 85,89 **** } ! py_timer_id = Py_BuildValue ("i", (int) timer_id); // associate the timer id with the given callback function --- 85,91 ---- } ! py_timer_id = PyInt_FromLong((long) timer_id); ! if (!py_timer_id) ! return NULL; // associate the timer id with the given callback function *************** *** 92,103 **** callback) == -1) { ::KillTimer (NULL, timer_id); PyErr_SetString (timer_module_error, "internal error, couldn't set timer id callback item"); return NULL; } - Py_INCREF (callback); - // everything went ok. ! return (Py_BuildValue ("i", (int) timer_id)); } --- 94,104 ---- callback) == -1) { ::KillTimer (NULL, timer_id); + Py_DECREF(py_timer_id); PyErr_SetString (timer_module_error, "internal error, couldn't set timer id callback item"); return NULL; } // everything went ok. ! return py_timer_id; } *************** *** 110,114 **** return NULL; } else if (timer_id_callback_map) { ! PyDict_DelItem (timer_id_callback_map, py_timer_id); } int rc; --- 111,117 ---- return NULL; } else if (timer_id_callback_map) { ! if (0 != PyDict_DelItem (timer_id_callback_map, py_timer_id)) { ! return NULL; ! } } int rc; *************** *** 152,155 **** --- 155,159 ---- timer_module_error = PyString_FromString("timer error"); PyDict_SetItemString(dict, "error", timer_module_error); + PyDict_SetItemString(dict, "__version__", PyString_FromString("0.2")); timer_id_callback_map = PyDict_New(); } |
From: <mha...@us...> - 2003-07-26 03:43:23
|
Update of /cvsroot/pywin32/pywin32/com/win32com In directory sc8-pr-cvs1:/tmp/cvs-serv29945 Modified Files: universal.py Log Message: We were checking the wrong map for the vtable interface names we support. Index: universal.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/universal.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** universal.py 19 Nov 2002 11:46:54 -0000 1.10 --- universal.py 26 Jul 2003 00:53:55 -0000 1.11 *************** *** 47,51 **** # Cool - can used cached info. if not interface_names: ! interface_names = mod.NamesToIIDMap.keys() for name in interface_names: try: --- 47,51 ---- # Cool - can used cached info. if not interface_names: ! interface_names = mod.VTablesToClassMap.values() for name in interface_names: try: |
From: <mha...@us...> - 2003-07-26 02:09:48
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory sc8-pr-cvs1:/tmp/cvs-serv29682 Modified Files: genpy.py Log Message: When generating vtable information we were unpacking the data for the runtime wrong. Index: genpy.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/genpy.py,v retrieving revision 1.32 retrieving revision 1.33 diff -C2 -d -r1.32 -r1.33 *** genpy.py 18 Mar 2003 07:33:32 -0000 1.32 --- genpy.py 26 Jul 2003 00:52:14 -0000 1.33 *************** *** 24,28 **** error = "makepy.error" ! makepy_version = "0.4.5" # Written to generated file. GEN_FULL="full" --- 24,28 ---- error = "makepy.error" ! makepy_version = "0.4.6" # Written to generated file. GEN_FULL="full" *************** *** 230,254 **** chunks = [] names, dispid, desc = v - name = names[0] - named_params = names[1:] - invkind = desc[4] arg_desc = desc[2] - ret_desc = desc[8] ! chunks.append("\t(%s, %d, %d, (" % (repr(name), dispid, invkind)) for arg in arg_desc: - chunks.append("(%d,%d," % (arg[0], arg[1])) defval = build.MakeDefaultArgRepr(arg) - if defval is None: - chunks.append("None, ") - else: - chunks.append(defval + ", ") if arg[3] is None: ! chunks.append("None") else: ! chunks.append(repr(arg[3])) ! chunks.append("),") ! chunks.append("), %s, %s)," % (repr(ret_desc), repr(named_params))) ! #chunks.append(' # vtable entry %d' % (desc[7]/4,) ) print "".join(chunks) print "]" --- 230,245 ---- chunks = [] names, dispid, desc = v arg_desc = desc[2] ! arg_reprs = [] for arg in arg_desc: defval = build.MakeDefaultArgRepr(arg) if arg[3] is None: ! arg3_repr = None else: ! arg3_repr = repr(arg[3]) ! arg_reprs.append((arg[0], arg[1], defval, arg3_repr)) ! desc = desc[:2] + (arg_reprs,) + desc[3:] ! chunks.append("\t(%r, %d, %r)," % (names, dispid, desc)) print "".join(chunks) print "]" |
From: <mha...@us...> - 2003-07-26 01:40:01
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory sc8-pr-cvs1:/tmp/cvs-serv29808 Modified Files: gencache.py Log Message: Only attempt to validate the tlb file if it can be loaded - ie, if we have a generated module but no type library, we don't complain. Index: gencache.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/gencache.py,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** gencache.py 27 Oct 2002 10:15:08 -0000 1.18 --- gencache.py 26 Jul 2003 00:53:02 -0000 1.19 *************** *** 354,358 **** module = None minor = tlbAttr[4] ! if bValidateFile: filePathPrefix = "%s\\%s" % (GetGeneratePath(), GetGeneratedFileName(typelibCLSID, lcid, major, minor)) filePath = filePathPrefix + ".py" --- 354,367 ---- module = None minor = tlbAttr[4] ! if module is not None and bValidateFile: ! try: ! typLibPath = pythoncom.QueryPathOfRegTypeLib(typelibCLSID, major, minor, lcid) ! tlbAttributes = pythoncom.LoadRegTypeLib(typelibCLSID, major, minor, lcid).GetLibAttr() ! except pythoncom.com_error: ! # We have a module, but no type lib - we should still ! # run with what we have though - the typelib may not be ! # deployed here. ! bValidateFile = 0 ! if module is not None and bValidateFile: filePathPrefix = "%s\\%s" % (GetGeneratePath(), GetGeneratedFileName(typelibCLSID, lcid, major, minor)) filePath = filePathPrefix + ".py" *************** *** 371,375 **** # If we have a differing MinorVersion or genpy has bumped versions, update the file import genpy ! if module is not None and (module.MinorVersion != tlbAttributes[4] or genpy.makepy_version != module.makepy_version): #print "Version skew: %d, %d" % (module.MinorVersion, tlbAttributes[4]) # try to erase the bad file from the cache --- 380,384 ---- # If we have a differing MinorVersion or genpy has bumped versions, update the file import genpy ! if module.MinorVersion != tlbAttributes[4] or genpy.makepy_version != module.makepy_version: #print "Version skew: %d, %d" % (module.MinorVersion, tlbAttributes[4]) # try to erase the bad file from the cache *************** *** 389,416 **** bReloadNeeded = 1 else: ! if module is not None: ! minor = module.MinorVersion ! filePathPrefix = "%s\\%s" % (GetGeneratePath(), GetGeneratedFileName(typelibCLSID, lcid, major, minor)) ! filePath = filePathPrefix + ".py" ! filePathPyc = filePathPrefix + ".pyc" ! #print "Trying py stat: ", filePath ! fModTimeSet = 0 try: ! pyModTime = os.stat(filePath)[8] fModTimeSet = 1 except os.error, e: ! # If .py file fails, try .pyc file ! #print "Trying pyc stat", filePathPyc ! try: ! pyModTime = os.stat(filePathPyc)[8] ! fModTimeSet = 1 ! except os.error, e: ! pass ! #print "Trying stat typelib", pyModTime ! #print str(typLibPath) ! typLibModTime = os.stat(str(typLibPath[:-1]))[8] ! if fModTimeSet and (typLibModTime > pyModTime): ! bReloadNeeded = 1 ! module = None except (ImportError, os.error): module = None --- 398,424 ---- bReloadNeeded = 1 else: ! minor = module.MinorVersion ! filePathPrefix = "%s\\%s" % (GetGeneratePath(), GetGeneratedFileName(typelibCLSID, lcid, major, minor)) ! filePath = filePathPrefix + ".py" ! filePathPyc = filePathPrefix + ".pyc" ! #print "Trying py stat: ", filePath ! fModTimeSet = 0 ! try: ! pyModTime = os.stat(filePath)[8] ! fModTimeSet = 1 ! except os.error, e: ! # If .py file fails, try .pyc file ! #print "Trying pyc stat", filePathPyc try: ! pyModTime = os.stat(filePathPyc)[8] fModTimeSet = 1 except os.error, e: ! pass ! #print "Trying stat typelib", pyModTime ! #print str(typLibPath) ! typLibModTime = os.stat(str(typLibPath[:-1]))[8] ! if fModTimeSet and (typLibModTime > pyModTime): ! bReloadNeeded = 1 ! module = None except (ImportError, os.error): module = None |
From: <th...@us...> - 2003-07-18 08:36:16
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv457 Modified Files: setup_win32all_core.py Log Message: The WinExt class now has a method to parse DSP files to get the source files from them - this removes the long listing of source files, and should make it more robust. Index: setup_win32all_core.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all_core.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** setup_win32all_core.py 16 May 2003 18:46:46 -0000 1.3 --- setup_win32all_core.py 18 Jul 2003 08:36:13 -0000 1.4 *************** *** 11,20 **** class WinExt (Extension): ! # Base class for all win32 extensions, with ! # some predefined library and include dirs, ! # and predefined windows libraries. ! # Additionally a method to parse .def files ! # into lists of exported symbols. ! def __init__ (self, name, sources, include_dirs=[], define_macros=None, --- 11,19 ---- class WinExt (Extension): ! # Base class for all win32 extensions, with some predefined ! # library and include dirs, and predefined windows libraries. ! # Additionally a method to parse .def files into lists of exported ! # symbols, and to read ! def __init__ (self, name, sources=None, include_dirs=[], define_macros=None, *************** *** 28,32 **** --- 27,33 ---- export_symbols=None, export_symbol_file=None, + dsp_file=None, ): + assert dsp_file or sources, "Either dsp_file or sources must be specified" libary_dirs = library_dirs, include_dirs = ['com/win32com/src/include', *************** *** 34,40 **** --- 35,47 ---- libraries = ['user32', 'odbc32', 'advapi32', 'oleaut32', 'ole32', 'shell32'] + libraries + if export_symbol_file: export_symbols = export_symbols or [] export_symbols.extend(self.parse_def_file(export_symbol_file)) + + if dsp_file: + sources = sources or [] + sources.extend(self.get_source_files(dsp_file)) + Extension.__init__ (self, name, sources, include_dirs, *************** *** 61,154 **** return result ! pywintypes = WinExt('pywintypes', ! ['win32/src/PyACL.cpp', ! 'win32/src/PyHandle.cpp', ! 'win32/src/PyIID.cpp', ! 'win32/src/PyLARGE_INTEGER.cpp', ! 'win32/src/PyOVERLAPPED.cpp', ! 'win32/src/PySECURITY_ATTRIBUTES.cpp', ! 'win32/src/PySECURITY_DESCRIPTOR.cpp', ! 'win32/src/PySID.cpp', ! 'win32/src/PyTime.cpp', ! 'win32/src/PyUnicode.cpp', ! 'win32/src/PyWinTypesmodule.cpp', ! ], ! extra_compile_args = ['-DBUILD_PYWINTYPES'] ! ) ! # source directories for win32com ! com_src = 'com/win32com/src/' ! com_ext = 'com/win32com/src/extensions/' pythoncom = WinExt('pythoncom', ! [com_src + 'dllmain.cpp', ! com_src + 'ErrorUtils.cpp', ! com_src + 'MiscTypes.cpp', ! com_src + 'oleargs.cpp', ! com_src + 'PyComHelpers.cpp', ! com_src + 'PyFactory.cpp', ! com_src + 'PyGatewayBase.cpp', ! com_src + 'PyIBase.cpp', ! com_src + 'PyIClassFactory.cpp', ! com_src + 'PyIDispatch.cpp', ! com_src + 'PyIUnknown.cpp', ! com_src + 'PyRecord.cpp', ! com_src + 'PyStorage.cpp', ! com_src + 'PythonCOM.cpp', ! com_src + 'Register.cpp', ! com_src + 'stdafx.cpp', ! com_src + 'univgw.cpp', ! com_src + 'univgw_dataconv.cpp', ! ! com_ext + 'PyFUNCDESC.cpp', ! com_ext + 'PyGConnectionPoint.cpp', ! com_ext + 'PyGConnectionPointContainer.cpp', ! com_ext + 'PyGEnumVariant.cpp', ! com_ext + 'PyGErrorLog.cpp', ! com_ext + 'PyGPersist.cpp', ! com_ext + 'PyGPersistPropertyBag.cpp', ! com_ext + 'PyGPersistStorage.cpp', ! com_ext + 'PyGPersistStream.cpp', ! com_ext + 'PyGPersistStreamInit.cpp', ! com_ext + 'PyGPropertyBag.cpp', ! com_ext + 'PyGStream.cpp', ! com_ext + 'PyIBindCtx.cpp', ! com_ext + 'PyICatInformation.cpp', ! com_ext + 'PyICatRegister.cpp', ! com_ext + 'PyIConnectionPoint.cpp', ! com_ext + 'PyIConnectionPointContainer.cpp', ! com_ext + 'PyICreateTypeInfo.cpp', ! com_ext + 'PyICreateTypeLib.cpp', ! com_ext + 'PyIEnumCATEGORYINFO.cpp', ! com_ext + 'PyIEnumConnectionPoints.cpp', ! com_ext + 'PyIEnumConnections.cpp', ! com_ext + 'PyIEnumGUID.cpp', ! com_ext + 'PyIEnumSTATPROPSTG.cpp', ! com_ext + 'PyIEnumSTATSTG.cpp', ! com_ext + 'PyIEnumVariant.cpp', ! com_ext + 'PyIErrorLog.cpp', ! com_ext + 'PyIExternalConnection.cpp', ! com_ext + 'PyILockBytes.cpp', ! com_ext + 'PyIMoniker.cpp', ! com_ext + 'PyIPersist.cpp', ! com_ext + 'PyIPersistFile.cpp', ! com_ext + 'PyIPersistPropertyBag.cpp', ! com_ext + 'PyIPersistStorage.cpp', ! com_ext + 'PyIPersistStream.cpp', ! com_ext + 'PyIPersistStreamInit.cpp', ! com_ext + 'PyIPropertyBag.cpp', ! com_ext + 'PyIPropertySetStorage.cpp', ! com_ext + 'PyIPropertyStorage.cpp', ! com_ext + 'PyIprovideClassInfo.cpp', ! com_ext + 'PyIRunningObjectTable.cpp', ! com_ext + 'PyIServiceProvider.cpp', ! com_ext + 'PyIStorage.cpp', ! com_ext + 'PyIStream.cpp', ! com_ext + 'PyIType.cpp', ! com_ext + 'PyITypeObjects.cpp', ! com_ext + 'PyTYPEATTR.cpp', ! com_ext + 'PyVARDESC.cpp', ! ], export_symbol_file = 'com/win32com/src/PythonCOM.def', ## libraries = ['PyWintypes'], --- 68,91 ---- return result ! def get_source_files(self, dsp): ! result = [] ! dsp_path = os.path.dirname(dsp) ! for line in open(dsp, "r"): ! fields = line.strip().split("=", 2) ! if fields[0]=="SOURCE": ! if os.path.splitext(fields[1])[1].lower() in ['.cpp', '.c']: ! pathname = os.path.normpath(os.path.join(dsp_path, fields[1])) ! result.append(pathname) ! return result ! ################################################################ ! pywintypes = WinExt('pywintypes', ! dsp_file = r"win32\PyWinTypes.dsp", ! extra_compile_args = ['-DBUILD_PYWINTYPES'] ! ) pythoncom = WinExt('pythoncom', ! dsp_file=r"com\win32com.dsp", export_symbol_file = 'com/win32com/src/PythonCOM.def', ## libraries = ['PyWintypes'], *************** *** 158,162 **** class my_install_lib (install_lib): ! def finalize_options(self): install_lib.finalize_options(self) --- 95,100 ---- class my_install_lib (install_lib): ! # A special install_lib command, which will install into the windows ! # system directory instead of Lib/site-packages def finalize_options(self): install_lib.finalize_options(self) |
From: <mha...@us...> - 2003-07-12 13:07:25
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv2512 Modified Files: win32clipboardmodule.cpp Log Message: CF_HDROP support, from Roger Upole. Index: win32clipboardmodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32clipboardmodule.cpp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** win32clipboardmodule.cpp 8 Oct 2002 12:24:52 -0000 1.10 --- win32clipboardmodule.cpp 12 Jul 2003 13:07:22 -0000 1.11 *************** *** 284,292 **** --- 284,301 ---- } + if (!IsClipboardFormatAvailable(format)){ + PyErr_SetString(PyExc_TypeError, "Specified clipboard format is not available"); + return NULL; + } HANDLE handle; + WCHAR *filename=NULL; + PyObject* obfilename = NULL; + UINT filecnt=0, fileind=0, filenamesize=0; + HDROP hdrop; Py_BEGIN_ALLOW_THREADS; handle = GetClipboardData((UINT)format); Py_END_ALLOW_THREADS; + if (!handle) { return ReturnAPIError("GetClipboardData"); *************** *** 296,299 **** --- 305,311 ---- DWORD size; switch (format) { + case CF_HDROP: + hdrop = (HDROP)GlobalLock(handle); + break; case CF_ENHMETAFILE: size = GetEnhMetaFileBits((HENHMETAFILE)handle, 0, NULL); *************** *** 345,348 **** --- 357,378 ---- } switch (format) { + case CF_HDROP: + filecnt = DragQueryFileW(hdrop, 0xFFFFFFFF, NULL, NULL); + ret = PyTuple_New(filecnt); + if (!ret) return PyErr_NoMemory(); + for (fileind=0;fileind<filecnt;fileind++){ + filenamesize = DragQueryFileW(hdrop, fileind, NULL, NULL); + filename = (WCHAR *)malloc((filenamesize+1)*sizeof(WCHAR)); + if (!filename) { + Py_DECREF(ret); + return PyErr_NoMemory(); + } + filenamesize = DragQueryFileW(hdrop, fileind, filename, filenamesize+1); + obfilename=PyWinObject_FromWCHAR(filename); + PyTuple_SetItem(ret,fileind,obfilename); + free (filename); + } + GlobalUnlock(handle); + break; case CF_UNICODETEXT: ret = PyWinObject_FromWCHAR((wchar_t *)cData, (size / sizeof(wchar_t))-1); *************** *** 807,810 **** --- 837,841 ---- HANDLE handle; int ihandle; + if (PyArg_ParseTuple(args, "ii:SetClipboardData", &format, &ihandle)) { *************** *** 819,830 **** // to the new memory. PyObject *obBuf; if (!PyArg_ParseTuple(args, "iO:SetClipboardData", &format, &obBuf)) return NULL; ! PyBufferProcs *pb = obBuf->ob_type->tp_as_buffer; ! if (pb==NULL) RETURN_TYPE_ERR("The object must support the buffer interfaces"); - void *buf = NULL; - int bufSize = (*pb->bf_getreadbuffer)(obBuf, 0, &buf); // size doesnt include nulls! if (PyString_Check(obBuf)) --- 850,861 ---- // to the new memory. PyObject *obBuf; + const void * buf = NULL; + int bufSize = 0; if (!PyArg_ParseTuple(args, "iO:SetClipboardData", &format, &obBuf)) return NULL; ! ! if (PyObject_AsReadBuffer(obBuf,&buf,&bufSize)==-1) RETURN_TYPE_ERR("The object must support the buffer interfaces"); // size doesnt include nulls! if (PyString_Check(obBuf)) |
From: <mha...@us...> - 2003-07-08 02:08:54
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1:/tmp/cvs-serv16259 Modified Files: win32all.wse Log Message: Build 155 for 2.3 Index: win32all.wse =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/win32all.wse,v retrieving revision 1.29 retrieving revision 1.30 diff -C2 -d -r1.29 -r1.30 *** win32all.wse 8 Jul 2003 01:24:24 -0000 1.29 --- win32all.wse 8 Jul 2003 02:08:51 -0000 1.30 *************** *** 18,22 **** Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-154.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au --- 18,22 ---- Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-155.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au |
From: <mha...@us...> - 2003-07-08 01:25:32
|
Update of /cvsroot/pywin32/pywin32/Pythonwin In directory sc8-pr-cvs1:/tmp/cvs-serv9327 Modified Files: Win32uiHostGlue.h Log Message: Try harder to find our .dll./pyd Index: Win32uiHostGlue.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Win32uiHostGlue.h,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Win32uiHostGlue.h 7 Jul 2003 14:09:40 -0000 1.8 --- Win32uiHostGlue.h 8 Jul 2003 01:25:29 -0000 1.9 *************** *** 119,146 **** // (A brutal search trying a LoadLibrary on *all* Pythons we find is very // unlikely to come up with the right one. HMODULE hModCore = NULL; int i; HMODULE hModWin32ui = LoadLibrary(szWinui_Name); if (hModWin32ui==NULL) { ! // don't give up now - try a local Python. for (i=15;i<40;i++) { ! char fname[MAX_PATH*2]; ! strcpy(fname, "\0"); ! GetModuleFileName(NULL, fname, sizeof(fname)); ! char *p = fname + strlen(fname); ! while (p>fname && *p != '\\') ! p--; ! if (p>fname) { ! char pyname[20]; ! #ifdef _DEBUG ! wsprintf(pyname, "Python%d_d.dll", i); ! #else ! wsprintf(pyname, "Python%d.dll", i); ! #endif ! strcpy(p+1, pyname); ! hModCore = LoadLibrary(fname); ! if (hModCore) ! break; ! } } if (!hModCore) { --- 119,151 ---- // (A brutal search trying a LoadLibrary on *all* Pythons we find is very // unlikely to come up with the right one. + char app_dir[MAX_PATH]; + strcpy(app_dir, "\0"); + GetModuleFileName(NULL, app_dir, sizeof(app_dir)); + char *p = app_dir + strlen(app_dir); + while (p>app_dir && *p != '\\') + p--; + *p = '\0'; + + char fname[MAX_PATH*2]; + HMODULE hModCore = NULL; int i; HMODULE hModWin32ui = LoadLibrary(szWinui_Name); if (hModWin32ui==NULL) { ! // try an installed version ! wsprintf(fname, "%s\\%s\\%s", app_dir, "lib\\site-packages\\pythonwin", szWinui_Name); ! hModWin32ui = LoadLibrary(fname); ! } ! if (hModWin32ui==NULL) { ! // Still no need to give up - try a local Python. for (i=15;i<40;i++) { ! #ifdef _DEBUG ! wsprintf(fname, "%s\\Python%d_d.dll", app_dir, i); ! #else ! wsprintf(fname, "%s\\Python%d.dll", app_dir, i); ! #endif ! hModCore = LoadLibrary(fname); ! if (hModCore) ! break; } if (!hModCore) { *************** *** 188,191 **** --- 193,201 ---- if (pfnPyInit && bShouldInitPython) { (*pfnPyInit)(); + void (__cdecl *pfnPyEval_InitThreads)(void); + pfnPyEval_InitThreads = (void (__cdecl *)(void))GetProcAddress(hModCore, "PyEval_InitThreads"); + ASSERT(pfnPyEval_InitThreads); + if (pfnPyEval_InitThreads) + pfnPyEval_InitThreads(); } |
From: <mha...@us...> - 2003-07-08 01:24:27
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1:/tmp/cvs-serv9172 Modified Files: win32all.wse Log Message: Build 154 for 2.2 Index: win32all.wse =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/win32all.wse,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** win32all.wse 7 Jul 2003 14:07:47 -0000 1.28 --- win32all.wse 8 Jul 2003 01:24:24 -0000 1.29 *************** *** 18,22 **** Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-155.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au --- 18,22 ---- Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-154.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au |
From: <mha...@us...> - 2003-07-07 14:10:55
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src In directory sc8-pr-cvs1:/tmp/cvs-serv30035 Modified Files: PythonCOM.cpp Register.cpp dllmain.cpp Log Message: Since the last win32all build, when we did a win32api.LoadLibrary() on the DLL, we didn't hold the lock! Index: PythonCOM.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/PythonCOM.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** PythonCOM.cpp 3 Jul 2003 03:47:53 -0000 1.19 --- PythonCOM.cpp 7 Jul 2003 14:10:53 -0000 1.20 *************** *** 18,21 **** --- 18,23 ---- extern int PyCom_RegisterCoreIIDs(PyObject *dict); + extern int PyCom_RegisterCoreSupport(void); + extern PyObject *pythoncom_IsGatewayRegistered(PyObject *self, PyObject *args); *************** *** 1474,1477 **** --- 1476,1480 ---- // ensure the framework has valid state to work with. PyWinGlobals_Ensure(); + PyCom_RegisterCoreSupport(); // Create the module and add the functions Index: Register.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/Register.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Register.cpp 16 Jan 2003 23:40:46 -0000 1.7 --- Register.cpp 7 Jul 2003 14:10:53 -0000 1.8 *************** *** 283,286 **** --- 283,288 ---- int PyCom_RegisterCoreSupport(void) { + if (g_obPyCom_MapIIDToType) + return 0; // already done! // Create the name and type mappings. g_obPyCom_MapIIDToType = PyDict_New(); // map of IID's to types. Index: dllmain.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/dllmain.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** dllmain.cpp 20 Jan 2003 23:16:08 -0000 1.8 --- dllmain.cpp 7 Jul 2003 14:10:53 -0000 1.9 *************** *** 14,18 **** extern void FreeGatewayModule(void); ! /* --- 14,19 ---- extern void FreeGatewayModule(void); ! extern int PyCom_RegisterCoreSupport(void); ! extern int PyCom_UnregisterCoreSupport(void); /* *************** *** 48,51 **** --- 49,54 ---- // Make sure our Windows framework is all setup. PyWinGlobals_Ensure(); + // COM interfaces registered + PyCom_RegisterCoreSupport(); // Make sure we have _something_ as sys.argv. if (PySys_GetObject("argv")==NULL) { *************** *** 104,111 **** static BOOL g_bCoInitThreadHasInit = FALSE; - /* declare this outside of DllMain which has "C" scoping */ - extern int PyCom_RegisterCoreSupport(void); - extern int PyCom_UnregisterCoreSupport(void); - #ifndef BUILD_FREEZE #define DLLMAIN DllMain --- 107,110 ---- *************** *** 135,146 **** */ ! /* ! ** NOTE: PythonCOM.DLL is now linked against pywintypes.dll ! ** ! ** pywintypes.dll's DLLMain() will be executed before us, and it ! ** needs to initialise and call Python. Thus is is never necessary for ! ** us to initialise Python. ! */ ! PyCom_RegisterCoreSupport(); /* ** we don't need to be notified about threads --- 134,139 ---- */ ! /* We don't assume anything about Python's init state here! ! /* ** we don't need to be notified about threads |
From: <mha...@us...> - 2003-07-07 14:09:43
|
Update of /cvsroot/pywin32/pywin32/Pythonwin In directory sc8-pr-cvs1:/tmp/cvs-serv29301 Modified Files: Win32uiHostGlue.h Log Message: Also look for a Python DLL in the executable directory, which just happens to be the Python directory. This means we work for non-Admin installs Index: Win32uiHostGlue.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Win32uiHostGlue.h,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** Win32uiHostGlue.h 4 Aug 2000 04:44:45 -0000 1.7 --- Win32uiHostGlue.h 7 Jul 2003 14:09:40 -0000 1.8 *************** *** 112,137 **** char *szWinui_Name = "win32ui.pyd"; #endif HMODULE hModWin32ui = LoadLibrary(szWinui_Name); if (hModWin32ui==NULL) { ! char buf[256]; ! sprintf(buf,"The application can not locate %s (%d)\n", szWinui_Name, GetLastError()); ! int len = strlen(buf); ! int bufLeft = sizeof(buf) - len; ! FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), ! MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL), buf+len, bufLeft, NULL); ! AfxMessageBox(buf); ! return FALSE; } ! HMODULE hModCore = NULL; ! for (int i=15;i<40;i++) { ! char fname[20]; ! #ifdef _DEBUG ! wsprintf(fname, "Python%d_d.dll", i); ! #else ! wsprintf(fname, "Python%d.dll", i); ! #endif ! hModCore = GetModuleHandle(fname); ! if (hModCore) ! break; } if (hModCore==NULL) { --- 112,171 ---- char *szWinui_Name = "win32ui.pyd"; #endif + // god damn - this all should die. + // The problem is finding the correct Python. + // If we can get win32ui loaded, we can get the version from that. + // Otherwise, we can try and find a Python.dll in the current directory. + // Otherwise we give up in disgust. + // (A brutal search trying a LoadLibrary on *all* Pythons we find is very + // unlikely to come up with the right one. + HMODULE hModCore = NULL; + int i; HMODULE hModWin32ui = LoadLibrary(szWinui_Name); if (hModWin32ui==NULL) { ! // don't give up now - try a local Python. ! for (i=15;i<40;i++) { ! char fname[MAX_PATH*2]; ! strcpy(fname, "\0"); ! GetModuleFileName(NULL, fname, sizeof(fname)); ! char *p = fname + strlen(fname); ! while (p>fname && *p != '\\') ! p--; ! if (p>fname) { ! char pyname[20]; ! #ifdef _DEBUG ! wsprintf(pyname, "Python%d_d.dll", i); ! #else ! wsprintf(pyname, "Python%d.dll", i); ! #endif ! strcpy(p+1, pyname); ! hModCore = LoadLibrary(fname); ! if (hModCore) ! break; ! } ! } ! if (!hModCore) { ! // No Python, no win32ui :( ! char buf[256]; ! sprintf(buf,"The application can not locate %s (or Python) (%d)\n", szWinui_Name, GetLastError()); ! int len = strlen(buf); ! int bufLeft = sizeof(buf) - len; ! FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, GetLastError(), ! MAKELANGID(LANG_NEUTRAL,SUBLANG_NEUTRAL), buf+len, bufLeft, NULL); ! AfxMessageBox(buf); ! return FALSE; ! } } ! if (!hModCore) { ! for (i=15;i<40;i++) { ! char fname[20]; ! #ifdef _DEBUG ! wsprintf(fname, "Python%d_d.dll", i); ! #else ! wsprintf(fname, "Python%d.dll", i); ! #endif ! hModCore = GetModuleHandle(fname); ! if (hModCore) ! break; ! } } if (hModCore==NULL) { *************** *** 139,143 **** return FALSE; } - // Now the modules are loaded, call the Python init functions. int (__cdecl *pfnIsInit)(void); --- 173,176 ---- *************** *** 155,158 **** --- 188,201 ---- if (pfnPyInit && bShouldInitPython) { (*pfnPyInit)(); + } + + if (!hModWin32ui) { // sigh - try and import it + int (__cdecl *pfnPyRun_SimpleString)(const char *); + pfnPyRun_SimpleString = (int (__cdecl *)(const char *))GetProcAddress(hModCore, "PyRun_SimpleString"); + if (pfnPyRun_SimpleString) + pfnPyRun_SimpleString("import win32ui"); + hModWin32ui = GetModuleHandle(szWinui_Name); + if (!hModWin32ui) + AfxMessageBox("Still can't get my hands on win32ui"); } |
From: <mha...@us...> - 2003-07-07 14:08:17
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1:/tmp/cvs-serv29186 Modified Files: brandall.py Log Message: Warn myself if the target file exists. Index: brandall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/brandall.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** brandall.py 7 Jul 2003 10:18:41 -0000 1.4 --- brandall.py 7 Jul 2003 14:08:14 -0000 1.5 *************** *** 9,14 **** import brandWin32, brandWin32com, brandPythonwin - #import pythoncom - def doit(): desc = None --- 9,12 ---- *************** *** 87,90 **** --- 85,93 ---- print "Can not find '%s' - can not generate installation" % wse_name return + target_name = "win32all-" + str(build) + ".exe" + if os.path.isfile(target_name): + print "WARNING: %s already exists - press ENTER to have it killed anyway" % target_name + raw_input() + defines_str = "" for d in defines: |
From: <mha...@us...> - 2003-07-07 14:07:50
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1:/tmp/cvs-serv28886 Modified Files: win32all.wse Log Message: Better support for non-Admin installs. Pythonwin now installed in Python directory, and no attempt to compile all .pyc files is done. Message also displayed for the user indicating Python COM wont work 100% Index: win32all.wse =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/win32all.wse,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** win32all.wse 7 Jul 2003 10:18:41 -0000 1.27 --- win32all.wse 7 Jul 2003 14:07:47 -0000 1.28 *************** *** 18,22 **** Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-154.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au --- 18,22 ---- Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-155.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au *************** *** 107,114 **** item: Compiler Variable Else end item: Get Registry Key Value Variable=PY_INST_PATH Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath ! Flags=00000100 end item: Get Registry Key Value --- 107,117 ---- item: Compiler Variable Else end + item: Remark + Text=Check HKCU first - if it is there, the user probably has no admin anyway. + end item: Get Registry Key Value Variable=PY_INST_PATH Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath ! Flags=00000010 end item: Get Registry Key Value *************** *** 116,126 **** Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath\InstallGroup Default=%GROUP% ! Flags=00000100 ! end ! item: Compiler Variable End end item: Set Variable Variable=USE_HKLM ! Value=1 end item: If/While Statement --- 119,129 ---- Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath\InstallGroup Default=%GROUP% ! Flags=00000010 end item: Set Variable Variable=USE_HKLM ! Value=0 ! end ! item: Compiler Variable End end item: If/While Statement *************** *** 131,143 **** Text=Check HKEY_CURRENT_USER too. end - item: Compiler Variable If - Variable=PY_DEV_BUILD - Value=True - Flags=00000001 - end item: Get Registry Key Value Variable=PY_INST_PATH Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath ! Flags=00000010 end item: Get Registry Key Value --- 134,141 ---- Text=Check HKEY_CURRENT_USER too. end item: Get Registry Key Value Variable=PY_INST_PATH Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath ! Flags=00000100 end item: Get Registry Key Value *************** *** 145,169 **** Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath\InstallGroup Default=%GROUP% ! Flags=00000010 end item: Set Variable Variable=USE_HKLM ! Value=0 ! end ! item: Compiler Variable End end item: If/While Statement Variable=PY_INST_PATH end - item: Compiler Variable If - Variable=PY_DEV_BUILD - Value=True - end - item: Set Variable - Variable=CONTINUE - Value=1 - end - item: Compiler Variable Else - end item: Set Variable Variable=CONTINUE --- 143,155 ---- Key=Software\Python\PythonCore\%PY_REG_VERSION%\InstallPath\InstallGroup Default=%GROUP% ! Flags=00000100 end item: Set Variable Variable=USE_HKLM ! Value=1 end item: If/While Statement Variable=PY_INST_PATH end item: Set Variable Variable=CONTINUE *************** *** 212,217 **** end end - item: Compiler Variable End - end item: If/While Statement Variable=CONTINUE --- 198,201 ---- *************** *** 227,234 **** Flags=00000010 end - item: Compiler Variable If - Variable=PY_DEV_BUILD - Value=True - end item: Custom Dialog Set Name=Select Destination Directory --- 211,214 ---- *************** *** 365,386 **** end end - item: Compiler Variable Else - end - item: Check if File/Dir Exists - Pathname=PY_INST_PATH\Python%PYVER_NODOT%.dll - Flags=00000101 - end - item: Display Message - Title=Cannot locate Python - Text=Python can not be located in the specified directory. Please ensure that Python%PYVER_NODOT%.dll exists in the specified directory. - Flags=00101000 - end - item: Set Variable - Variable=PY_INST_PATH - end - item: End Block - end - item: Compiler Variable End - end item: End Block end --- 345,348 ---- *************** *** 400,423 **** Flags=00000001 end item: Remark Text=Python 2.2 and later have "site-packages" - install there. end item: Check if File/Dir Exists ! Pathname=%PY_INST_PATH%\lib\site-packages Flags=00000100 end item: Set Variable ! Variable=PY_INST_PATH ! Value=%PY_INST_PATH%\lib\site-packages end item: End Block end - item: Compiler Variable End - end - item: Set Variable - Variable=MAINDIR - Value=%PY_INST_PATH% - Flags=00001100 - end item: Set Variable Variable=SYSDLL_PATH --- 362,385 ---- Flags=00000001 end + item: Compiler Variable End + end + item: Set Variable + Variable=MAINDIR + Value=%PY_INST_PATH% + Flags=00001100 + end item: Remark Text=Python 2.2 and later have "site-packages" - install there. end item: Check if File/Dir Exists ! Pathname=%MAINDIR%\lib\site-packages Flags=00000100 end item: Set Variable ! Variable=MAINDIR ! Value=%MAINDIR%\lib\site-packages end item: End Block end item: Set Variable Variable=SYSDLL_PATH *************** *** 699,703 **** end end ! item: Check Configuration Message=This program must be installed by a user with Administrative rights. Message= --- 661,665 ---- end end ! remarked item: Check Configuration Message=This program must be installed by a user with Administrative rights. Message= *************** *** 1778,1784 **** Flags=00000001 end item: Install File Source=e:\src\pythonex\pythonwin\Build\Pythonwin.exe ! Destination=%INSTDIR%\Pythonwin.exe Description=Extension modules Flags=0000000000000011 --- 1740,1749 ---- Flags=00000001 end + item: Remark + Text=Install Python in the main Python dir, so non-admin installs can find Python.dll + end item: Install File Source=e:\src\pythonex\pythonwin\Build\Pythonwin.exe ! Destination=%PY_INST_PATH%\Pythonwin.exe Description=Extension modules Flags=0000000000000011 *************** *** 1791,1795 **** Total Keys=1 Key=Software\Microsoft\Windows\CurrentVersion\App Paths\Pythonwin.exe ! New Value=%INSTDIR%\Pythonwin.exe Root=2 end --- 1756,1761 ---- Total Keys=1 Key=Software\Microsoft\Windows\CurrentVersion\App Paths\Pythonwin.exe ! New Value=%PY_INST_PATH%\Pythonwin.exe ! New Value= Root=2 end *************** *** 1799,1803 **** Total Keys=1 Key=Software\Microsoft\Windows\CurrentVersion\App Paths\Pythonwin.exe ! New Value=%INSTDIR%\Pythonwin.exe Root=1 end --- 1765,1770 ---- Total Keys=1 Key=Software\Microsoft\Windows\CurrentVersion\App Paths\Pythonwin.exe ! New Value=%PY_INST_PATH%\Pythonwin.exe ! New Value= Root=1 end *************** *** 1811,1820 **** Total Keys=1 Key=Python.File\shell\Edit\command ! New Value=%INSTDIR%\pythonwin.exe /edit "%%1" end item: Edit Registry Total Keys=1 Key=Python.NoConFile\shell\Edit\command ! New Value=%INSTDIR%\pythonwin.exe /edit "%%1" end item: End Block --- 1778,1789 ---- Total Keys=1 Key=Python.File\shell\Edit\command ! New Value=%PY_INST_PATH%\pythonwin.exe /edit "%%1" ! New Value= end item: Edit Registry Total Keys=1 Key=Python.NoConFile\shell\Edit\command ! New Value=%PY_INST_PATH%\pythonwin.exe /edit "%%1" ! New Value= end item: End Block *************** *** 1939,1943 **** end item: Create Shortcut ! Source=%INSTDIR%\Pythonwin.exe Destination=%GROUP%\Pythonwin.lnk Working Directory=%MAINDIR% --- 1908,1912 ---- end item: Create Shortcut ! Source=%PY_INST_PATH%\Pythonwin.exe Destination=%GROUP%\Pythonwin.lnk Working Directory=%MAINDIR% *************** *** 1953,1961 **** Flags=00000001 end - item: Else Statement - end - item: Remark - Text=We (Python core, and now me) Seem to be ignoring non Win95 (ie, win31 or NT3.5) interfaces. - end item: End Block end --- 1922,1925 ---- *************** *** 2026,2029 **** --- 1990,2009 ---- Flags=00000001 end + item: If/While Statement + Variable=USE_HKLM + Value=1 + Flags=00000001 + end + item: Display Message + Title=Non-admin install + Text=As this is being installed as a non-admin user, certain COM features will not work correctly. + Text= + Text=You will not be able to implement COM objects in Python (but you should be able to use other COM objects). + Text= + Text=Active Scripting is also not supported + Flags=00100100 + end + item: Else Statement + end item: Install File Source=e:\src\pythonex\Wise\Install Scripts\FinishInstall.py *************** *** 2061,2064 **** --- 2041,2046 ---- item: Delete File Pathname=%MAINDIR%\PyWise%PYVER_NODOT%.dll + end + item: End Block end item: Compiler Variable End |
From: <mha...@us...> - 2003-07-07 10:18:44
|
Update of /cvsroot/pywin32/pywin32/Wise In directory sc8-pr-cvs1:/tmp/cvs-serv31431 Modified Files: brandPythonwin.py brandWin32.py brandWin32com.py brandall.py win32all.wse Log Message: Force an arg with the Python version to be passed. We don't actually check the validity, but it ensures it is specified rather than grabbed from whatever Python is running the script (there is a bug on that) Also use this to create the compiler variables for WISE, and auto-generate the installer file. Index: brandPythonwin.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/brandPythonwin.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** brandPythonwin.py 6 May 2000 12:05:02 -0000 1.2 --- brandPythonwin.py 7 Jul 2003 10:18:41 -0000 1.3 *************** *** 4,8 **** from brandutils import * ! def doit(buildDesc=None, auto=0, bRebrand = 0, build = None): path=win32api.GetFullPathName("..\\Pythonwin") projectName = "$/Python/Pythonwin" --- 4,8 ---- from brandutils import * ! def doit(pyver=sys.winver, buildDesc=None, auto=0, bRebrand = 0, build = None): path=win32api.GetFullPathName("..\\Pythonwin") projectName = "$/Python/Pythonwin" *************** *** 15,19 **** import bulkstamp ! major, minor = string.split(sys.winver, ".") bulkstamp.scan( build, path, "desc.txt", major=major, minor=minor ) subst_dict = {"vss_label" : build } --- 15,19 ---- import bulkstamp ! major, minor = string.split(pyver, ".") bulkstamp.scan( build, path, "desc.txt", major=major, minor=minor ) subst_dict = {"vss_label" : build } Index: brandWin32.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/brandWin32.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** brandWin32.py 6 May 2000 12:05:02 -0000 1.2 --- brandWin32.py 7 Jul 2003 10:18:41 -0000 1.3 *************** *** 4,8 **** from brandutils import * ! def doit(buildDesc = None, auto=0, bRebrand = 0, build = None): path=win32api.GetFullPathName("..\\win32") projectName = "$/Python/Python Win32 Extensions" --- 4,8 ---- from brandutils import * ! def doit(pyver=sys.winver,buildDesc = None, auto=0, bRebrand = 0, build = None): path=win32api.GetFullPathName("..\\win32") projectName = "$/Python/Python Win32 Extensions" *************** *** 15,19 **** import bulkstamp ! major, minor = string.split(sys.winver, ".") bulkstamp.scan( build, path, "desc.txt", major=major, minor=minor ) subst_dict = {"vss_label" : build } --- 15,19 ---- import bulkstamp ! major, minor = string.split(pyver, ".") bulkstamp.scan( build, path, "desc.txt", major=major, minor=minor ) subst_dict = {"vss_label" : build } Index: brandWin32com.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/brandWin32com.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** brandWin32com.py 6 May 2000 12:05:02 -0000 1.2 --- brandWin32com.py 7 Jul 2003 10:18:41 -0000 1.3 *************** *** 5,9 **** ! def doit(buildDesc = None, auto=0, bRebrand = 0, build=None): path=win32api.GetFullPathName("..\\com\\Build") projectName = "$/Python/Python COM" --- 5,9 ---- ! def doit(pyver=sys.winver, buildDesc = None, auto=0, bRebrand = 0, build=None): path=win32api.GetFullPathName("..\\com\\Build") projectName = "$/Python/Python COM" *************** *** 15,19 **** import bulkstamp ! major, minor = string.split(sys.winver, ".") bulkstamp.scan( build, path, "desc.txt", major=major, minor=minor ) subst_dict = {"vss_label" : build } --- 15,19 ---- import bulkstamp ! major, minor = string.split(pyver, ".") bulkstamp.scan( build, path, "desc.txt", major=major, minor=minor ) subst_dict = {"vss_label" : build } Index: brandall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/brandall.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** brandall.py 8 Oct 2002 11:43:06 -0000 1.3 --- brandall.py 7 Jul 2003 10:18:41 -0000 1.4 *************** *** 5,9 **** import getopt - import sys sys.path.append(r"..\win32\scripts\VersionStamp") --- 5,8 ---- *************** *** 16,20 **** auto=0 bRebrand = 0 ! opts, args = getopt.getopt(sys.argv[1:], "ad:r") for (o,v) in opts: if o=='-d': --- 15,19 ---- auto=0 bRebrand = 0 ! opts, args = getopt.getopt(sys.argv[1:], "ad:rw:") for (o,v) in opts: if o=='-d': *************** *** 25,38 **** bRebrand = 1 ! if len(args) != 1: ! print "You must enter the build number" return if args[0] == "cvs": - import time # days since epoch <wink> build = str(int(time.time() / 3600 / 24)) build_suffix = time.strftime("%Y%m%d", time.gmtime(time.time())) else: ! build = args[0] build_suffix = build # projectName = "$/Python/Wise/win32all" --- 24,58 ---- bRebrand = 1 ! if len(args) != 2: ! print "You must enter the Python version and the build number" return + defines = [] if args[0] == "cvs": # days since epoch <wink> + import time build = str(int(time.time() / 3600 / 24)) build_suffix = time.strftime("%Y%m%d", time.gmtime(time.time())) + defines.append("PY_DEV_BUILD=1") + # xxx else: ! pyver = args[0] ! build = args[1] ! defines.append("PY_DEV_BUILD=0") ! try: ! if len(pyver.split("."))!=2: ! raise ValueError, "Bad python version '%s'" % pyver ! int(build) # check integer ! defines.append("PYVER_DOTTED=" + pyver) ! defines.append("PYVER_NODOT=" + "".join(pyver.split("."))) ! except ValueError, why: ! print why ! return ! if sys.executable.find("_d")<0: ! print "Oops - can't brand myself - spawing debug version." ! base, ext = os.path.splitext(sys.executable) ! exe = base + "_d" + ext ! os.execv(exe, [exe]+sys.argv) ! # Does not return ! assert(False) build_suffix = build # projectName = "$/Python/Wise/win32all" *************** *** 43,53 **** # return ! if not brandWin32.doit(desc, auto, bRebrand, build): return ! if not brandWin32com.doit(desc, auto, bRebrand, build): return ! if not brandPythonwin.doit(desc, auto, bRebrand, build): return --- 63,73 ---- # return ! if not brandWin32.doit(pyver, desc, auto, bRebrand, build): return ! if not brandWin32com.doit(pyver, desc, auto, bRebrand, build): return ! if not brandPythonwin.doit(pyver, desc, auto, bRebrand, build): return *************** *** 56,63 **** import brandutils ! subst_dict = {"build_no" : build } brandutils.SubstituteInFile("win32all_ver.wse.in", "win32all_ver.wse", subst_dict) ! ! if __name__=='__main__': doit() --- 76,102 ---- import brandutils ! subst_dict = {"build_no" : build, ! "pyver_dotted" : pyver, ! "pyver_nodot" : ''.join(pyver.split('.')), ! } brandutils.SubstituteInFile("win32all_ver.wse.in", "win32all_ver.wse", subst_dict) + # and generate the installation file. + if defines: + wse_name = "win32all.wse" + if not os.path.isfile(wse_name): + print "Can not find '%s' - can not generate installation" % wse_name + return + defines_str = "" + for d in defines: + defines_str += "/D" + d + " " + # find the .exe for .wse files. + ignore, exe_name = win32api.FindExecutable(wse_name) + cmd = "%s %s /c %s" % (exe_name, defines_str, wse_name) + print "About to generate WISE installer." + print "Command: %s" % (cmd,) + print "Press ENTER to continue" + raw_input() + os.system(cmd) ! if __name__=='__main__': doit() Index: win32all.wse =================================================================== RCS file: /cvsroot/pywin32/pywin32/Wise/win32all.wse,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** win32all.wse 10 Mar 2003 00:57:53 -0000 1.26 --- win32all.wse 7 Jul 2003 10:18:41 -0000 1.27 *************** *** 9,13 **** Start Gradient=0 0 255 End Gradient=0 0 0 ! Windows Flags=00000100000011010010110100011000 Log Pathname=%MAINDIR%\W32INST.LOG Message Font=MS Sans Serif --- 9,13 ---- Start Gradient=0 0 255 End Gradient=0 0 0 ! Windows Flags=00000100000010010010110100011000 Log Pathname=%MAINDIR%\W32INST.LOG Message Font=MS Sans Serif *************** *** 18,22 **** Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-153.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au --- 18,22 ---- Patch Threshold=85 Patch Memory=4000 ! EXE Filename=win32all-154.exe Code Sign Name=Python Win32 combined extensions Code Sign Info=skippinet.com.au |
From: <mha...@us...> - 2003-07-04 12:14:33
|
Update of /cvsroot/pywin32/pywin32/win32/scripts/VersionStamp In directory sc8-pr-cvs1:/tmp/cvs-serv13138 Modified Files: bulkstamp.py Log Message: Remove unused import Index: bulkstamp.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/scripts/VersionStamp/bulkstamp.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** bulkstamp.py 5 Aug 2000 05:51:13 -0000 1.4 --- bulkstamp.py 4 Jul 2003 12:14:30 -0000 1.5 *************** *** 33,37 **** import sys import os - import regex import verstamp import fnmatch --- 33,36 ---- |
From: <mha...@us...> - 2003-07-03 04:25:20
|
Update of /cvsroot/pywin32/pywin32/com In directory sc8-pr-cvs1:/tmp/cvs-serv31439a Modified Files: adsi.dsp Log Message: Fixes to Python 2.1 build process. Index: adsi.dsp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/adsi.dsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** adsi.dsp 6 Apr 2003 23:52:08 -0000 1.4 --- adsi.dsp 3 Jul 2003 04:07:07 -0000 1.5 *************** *** 165,171 **** BuildCmds= \ ! cd $(InputDir) \ ! ..\swig.bat -dnone -pythoncom -com_interface_parent IDispatch -c++ -o $(InputName).cpp $(InputName).i \ ! "$(InputDir)\$(InputName).cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" --- 165,169 ---- BuildCmds= \ ! ..\swig.bat $(InputDir) -dnone -pythoncom -com_interface_parent IDispatch -c++ -o $(InputName).cpp $(InputName).i "$(InputDir)\$(InputName).cpp" : $(SOURCE) "$(INTDIR)" "$(OUTDIR)" |