pywin32-checkins Mailing List for Python for Windows Extensions (Page 142)
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-01-20 22:15:22
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla In directory sc8-pr-cvs1:/tmp/cvs-serv16842/Pythonwin/pywin/scintilla Modified Files: view.py Log Message: If a file had a method named "self", auto-complete would get upset. Index: view.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/view.py,v retrieving revision 1.22 retrieving revision 1.23 diff -C2 -d -r1.22 -r1.23 *** view.py 10 Nov 2003 04:38:56 -0000 1.22 --- view.py 20 Jan 2004 22:15:15 -0000 1.23 *************** *** 477,480 **** --- 477,483 ---- # Or maybe we don't need the superclass methods at all ? def _UpdateWithClassMethods(self,dict,classinfo): + if not hasattr(classinfo,"methods"): + # No 'methods' - probably not what we think it is. + return dict.update(classinfo.methods) for super in classinfo.super: |
From: <mha...@us...> - 2004-01-20 22:14:08
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src In directory sc8-pr-cvs1:/tmp/cvs-serv16601/com/win32comext/shell/src Modified Files: PyIBrowserFrameOptions.cpp shell.cpp Log Message: Later versions of MSVC (and presumably the platform SDK) drop the undocumented IBrowserFrameOptions. Index: PyIBrowserFrameOptions.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/PyIBrowserFrameOptions.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** PyIBrowserFrameOptions.cpp 8 Oct 2003 23:34:41 -0000 1.1 --- PyIBrowserFrameOptions.cpp 20 Jan 2004 22:14:05 -0000 1.2 *************** *** 3,6 **** --- 3,10 ---- #include "shell_pch.h" + + /* It appears this was undocumented, and vanished in MSVC7. */ + #ifdef HAVE_BROWSER_FRAME_OPTIONS + #include "PyIBrowserFrameOptions.h" *************** *** 72,73 **** --- 76,78 ---- } + #endif // HAVE_BROWSER_FRAME_OPTIONS Index: shell.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** shell.cpp 24 Nov 2003 09:23:27 -0000 1.13 --- shell.cpp 20 Jan 2004 22:14:05 -0000 1.14 *************** *** 24,28 **** --- 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" *************** *** 980,984 **** --- 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), |
From: <mha...@us...> - 2004-01-20 22:12:38
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv16073/win32/src Modified Files: PyACL.cpp Log Message: Add casts to avoid new compiler warnings. Index: PyACL.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PyACL.cpp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PyACL.cpp 25 Nov 2003 05:19:58 -0000 1.7 --- PyACL.cpp 20 Jan 2004 22:12:35 -0000 1.8 *************** *** 389,393 **** return PyWin_SetAPIError("AddAccessAllowedAce", err); // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_ALLOWED_ACE) + GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory (pdacl_padded, required_size); --- 389,394 ---- return PyWin_SetAPIError("AddAccessAllowedAce", err); // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_ALLOWED_ACE) + \ ! (unsigned short)GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory (pdacl_padded, required_size); *************** *** 434,438 **** return PyWin_SetAPIError("AddAccessAllowedAceEx", err); // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_ALLOWED_ACE) + GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory (pdacl_padded, required_size); --- 435,440 ---- return PyWin_SetAPIError("AddAccessAllowedAceEx", err); // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_ALLOWED_ACE) + \ ! (unsigned short)GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory (pdacl_padded, required_size); *************** *** 487,491 **** } // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_DENIED_ACE) + GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory(pdacl_padded,required_size); --- 489,494 ---- } // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_DENIED_ACE) + \ ! (unsigned short)GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory(pdacl_padded,required_size); *************** *** 541,545 **** return PyWin_SetAPIError("AddAccessDeniedAceEx", err); // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_DENIED_ACE) + GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory (pdacl_padded, required_size); --- 544,549 ---- return PyWin_SetAPIError("AddAccessDeniedAceEx", err); // resize if dacl too small ! unsigned short required_size=pdacl->AclSize + sizeof(ACCESS_DENIED_ACE) + \ ! (unsigned short)GetLengthSid(psid); pdacl_padded = (ACL *)malloc(required_size); ZeroMemory (pdacl_padded, required_size); *************** *** 595,599 **** return PyWin_SetAPIError("AddAuditAccessAce", err); // resize if acl too small ! unsigned short required_size=psacl->AclSize + sizeof(SYSTEM_AUDIT_ACE) + GetLengthSid(psid); psacl_padded = (ACL *)malloc(required_size); ZeroMemory (psacl_padded, required_size); --- 599,604 ---- return PyWin_SetAPIError("AddAuditAccessAce", err); // resize if acl too small ! unsigned short required_size=psacl->AclSize + sizeof(SYSTEM_AUDIT_ACE) + \ ! (unsigned short)GetLengthSid(psid); psacl_padded = (ACL *)malloc(required_size); ZeroMemory (psacl_padded, required_size); *************** *** 642,646 **** return PyWin_SetAPIError("AddAuditAccessAceEx", err); // resize if acl too small ! unsigned short required_size=psacl->AclSize + sizeof(SYSTEM_AUDIT_ACE) + GetLengthSid(psid); psacl_padded = (ACL *)malloc(required_size); ZeroMemory (psacl_padded, required_size); --- 647,652 ---- return PyWin_SetAPIError("AddAuditAccessAceEx", err); // resize if acl too small ! unsigned short required_size=psacl->AclSize + sizeof(SYSTEM_AUDIT_ACE) + \ ! (unsigned short)GetLengthSid(psid); psacl_padded = (ACL *)malloc(required_size); ZeroMemory (psacl_padded, required_size); |
From: <mha...@us...> - 2004-01-20 08:31:17
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory sc8-pr-cvs1:/tmp/cvs-serv5425 Modified Files: gencache.py Log Message: From Thomas Heller, to make "readonly" checking of the gencache more robust, and compatible with both py2exe and PEP302. Index: gencache.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/gencache.py,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** gencache.py 2 Nov 2003 11:43:28 -0000 1.25 --- gencache.py 20 Jan 2004 08:31:14 -0000 1.26 *************** *** 41,45 **** # We don't want to use isdir() though, as we have always gracefully # created this directory when we could. ! is_readonly = win32com.__gen_path__.find(".zip\\") >= 0 # A dictionary of ITypeLibrary objects for demand generation explicitly handed to us --- 41,45 ---- # We don't want to use isdir() though, as we have always gracefully # created this directory when we could. ! is_readonly = getattr(win32com, "__loader__", None) or (1 == 0) # A dictionary of ITypeLibrary objects for demand generation explicitly handed to us *************** *** 71,85 **** import cPickle # Load the dictionary from a .zip file if that is where we live. ! zip_pos = win32com.__gen_path__.find(".zip\\") ! if zip_pos >= 0: ! import zipfile, cStringIO ! zip_file = win32com.__gen_path__[:zip_pos+4] ! zip_path = win32com.__gen_path__[zip_pos+5:] ! zip_path = os.path.join(zip_path, "dicts.dat").replace("\\", "/") try: ! zf = zipfile.ZipFile(zip_file) ! f = cStringIO.StringIO(zf.read(zip_path)) ! zf.close() ! except KeyError: # Our gencache is in a .zip file (and almost certainly readonly) # but no dicts file. That actually needn't be fatal for a frozen --- 71,90 ---- import cPickle # Load the dictionary from a .zip file if that is where we live. ! if hasattr(win32com, "__loader__"): ! import cStringIO ! loader = win32com.__loader__ ! arc_path = loader.archive ! dicts_path = os.path.join(win32com.__gen_path__, "dicts.dat") ! if dicts_path.startswith(arc_path): ! dicts_path = dicts_path[len(arc_path)+1:] ! else: ! # Hm. See below. ! return try: ! data = loader.get_data(dicts_path) ! except AttributeError: ! # The __loader__ has no get_data method. See below. ! return ! except IOError: # Our gencache is in a .zip file (and almost certainly readonly) # but no dicts file. That actually needn't be fatal for a frozen *************** *** 94,97 **** --- 99,103 ---- # the dict) return + f = cStringIO.StringIO(data) else: # NOTE: IOError on file open must be caught by caller. |
From: <mha...@us...> - 2004-01-20 03:01:36
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv12139 Modified Files: setup_win32all.py Log Message: Allow this to be run from any directory. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** setup_win32all.py 8 Dec 2003 02:09:37 -0000 1.8 --- setup_win32all.py 20 Jan 2004 03:01:33 -0000 1.9 *************** *** 62,65 **** --- 62,70 ---- except NameError: this_file = sys.argv[0] + + # We get upset if the cwd is not our source dir, but it is a PITA to + # insist people manually CD there first! + if os.path.dirname(this_file): + os.chdir(os.path.dirname(this_file)) class WinExt (Extension): |
From: <mha...@us...> - 2004-01-20 01:57:18
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv1086 Modified Files: PyWin32.kpf Log Message: Few random changes to my Komodo project file. Index: PyWin32.kpf =================================================================== RCS file: /cvsroot/pywin32/pywin32/PyWin32.kpf,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PyWin32.kpf 24 Oct 2003 04:48:56 -0000 1.2 --- PyWin32.kpf 20 Jan 2004 01:57:15 -0000 1.3 *************** *** 9,14 **** <file name="build_for_version.bat" url="build_for_version.bat"> </file> - <file name="setup_win32all_core.py" url="setup_win32all_core.py"> - </file> <file name="set_for_version.py" url="set_for_version.py"> </file> --- 9,12 ---- *************** *** 427,430 **** --- 425,430 ---- </file> <file name="testPyComTest.py" url="com/win32com/test/testPyComTest.py"> + <preference-set id=""> + </preference-set> </file> <file name="testPyScriptlet.js" url="com/win32com/test/testPyScriptlet.js"> *************** *** 471,474 **** --- 471,482 ---- <file name="testIterators.py" url="com/win32com/test/testIterators.py"> </file> + <file name="testROT.py" url="com/win32com/test/testROT.py"> + </file> + <file name="testvbscript_regexp.py" url="com/win32com/test/testvbscript_regexp.py"> + </file> + <file name="testStorage.py" url="com/win32com/test/testStorage.py"> + </file> + <file name="testShell.py" url="com/win32com/test/testShell.py"> + </file> </folder> </folder> *************** *** 1941,1950 **** <preference-set id="Invocations"> <preference-set id="Python"> - <string id="userEnvironment"></string> <string id="postparams"></string> <string id="getparams"></string> <boolean id="use-console">0</boolean> <string id="mpostparams"></string> - <boolean id="sim-cgi">0</boolean> <string id="filename">E:\src\pythonex\win32\test\testall.py</string> <string id="request-method">GET</string> --- 1949,1957 ---- <preference-set id="Invocations"> <preference-set id="Python"> <string id="postparams"></string> + <string id="userEnvironment"></string> <string id="getparams"></string> <boolean id="use-console">0</boolean> <string id="mpostparams"></string> <string id="filename">E:\src\pythonex\win32\test\testall.py</string> <string id="request-method">GET</string> *************** *** 1955,1958 **** --- 1962,1966 ---- <string id="cookieparams"></string> <boolean id="show-dialog">1</boolean> + <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> </preference-set> *************** *** 1962,1964 **** --- 1970,1976 ---- </folder> </folder> + <file name="pywin32_postinstall.py" url="pywin32_postinstall.py"> + </file> + <file name="setup_win32all.py" url="setup_win32all.py"> + </file> </project> |
From: <mha...@us...> - 2004-01-20 01:56:39
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla In directory sc8-pr-cvs1:/tmp/cvs-serv944/Pythonwin/pywin/scintilla Modified Files: find.py Log Message: Add auto-scroll to the edit boxes in Pythonwin's find dialog. Index: find.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/find.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** find.py 1 Jun 2002 08:19:10 -0000 1.8 --- find.py 20 Jan 2004 01:56:36 -0000 1.9 *************** *** 209,213 **** ["Find", (0, 2, 240, 75), style, None, (8, "MS Sans Serif")], ["Static", "Fi&nd What:", 101, (5, 8, 40, 10), visible], ! ["Edit", "", 102, (50, 7, 120, 12), visible | win32con.WS_BORDER | win32con.WS_TABSTOP], ["Button", "Match &whole word only", 105, (5, 23, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], ["Button", "Match &case", 107, (5, 33, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], --- 209,213 ---- ["Find", (0, 2, 240, 75), style, None, (8, "MS Sans Serif")], ["Static", "Fi&nd What:", 101, (5, 8, 40, 10), visible], ! ["Edit", "", 102, (50, 7, 120, 12), visible | win32con.WS_BORDER | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL], ["Button", "Match &whole word only", 105, (5, 23, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], ["Button", "Match &case", 107, (5, 33, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], *************** *** 227,233 **** ["Replace", (0, 2, 240, 95), style, None, (8, "MS Sans Serif")], ["Static", "Fi&nd What:", 101, (5, 8, 40, 10), visible], ! ["Edit", "", 102, (60, 7, 110, 12), visible | win32con.WS_BORDER | win32con.WS_TABSTOP], ["Static", "Re&place with:", 103, (5, 25, 50, 10), visible], ! ["Edit", "", 104, (60, 24, 110, 12), visible | win32con.WS_BORDER | win32con.WS_TABSTOP], ["Button", "Match &whole word only", 105, (5, 42, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], ["Button", "Match &case", 107, (5, 52, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], --- 227,233 ---- ["Replace", (0, 2, 240, 95), style, None, (8, "MS Sans Serif")], ["Static", "Fi&nd What:", 101, (5, 8, 40, 10), visible], ! ["Edit", "", 102, (60, 7, 110, 12), visible | win32con.WS_BORDER | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL], ["Static", "Re&place with:", 103, (5, 25, 50, 10), visible], ! ["Edit", "", 104, (60, 24, 110, 12), visible | win32con.WS_BORDER | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL], ["Button", "Match &whole word only", 105, (5, 42, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], ["Button", "Match &case", 107, (5, 52, 100, 10), visible | win32con.BS_AUTOCHECKBOX | win32con.WS_TABSTOP], |
From: <mha...@us...> - 2004-01-20 01:55:45
|
Update of /cvsroot/pywin32/pywin32/com/win32com In directory sc8-pr-cvs1:/tmp/cvs-serv810/com/win32com Modified Files: __init__.py Log Message: pythoncom dumbly defaults pythoncom.frozen to zero - we believe sys.frozen over it. Index: __init__.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/__init__.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** __init__.py 31 Oct 2003 03:05:07 -0000 1.9 --- __init__.py 20 Jan 2004 01:55:42 -0000 1.10 *************** *** 8,12 **** # flag if we are in a "frozen" build. _frozen = getattr(sys, "frozen", 1==0) ! if _frozen and not hasattr(pythoncom, "frozen"): pythoncom.frozen = sys.frozen --- 8,13 ---- # flag if we are in a "frozen" build. _frozen = getattr(sys, "frozen", 1==0) ! # pythoncom dumbly defaults this to zero - we believe sys.frozen over it. ! if _frozen and not getattr(pythoncom, "frozen", 0): pythoncom.frozen = sys.frozen |
From: <mha...@us...> - 2004-01-20 01:54:39
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory sc8-pr-cvs1:/tmp/cvs-serv648/com/win32com/client Modified Files: __init__.py Log Message: Wrap a couple of long lines. Index: __init__.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/__init__.py,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** __init__.py 23 Oct 2003 07:12:02 -0000 1.31 --- __init__.py 20 Jan 2004 01:54:33 -0000 1.32 *************** *** 442,447 **** return cmp(self._oleobj_, other) ! def _ApplyTypes_(self, dispid, wFlags, retType, argTypes, user, resultCLSID, *args): ! return self._get_good_object_(self._oleobj_.InvokeTypes(*((dispid, 0, wFlags, retType, argTypes) + args)), user, resultCLSID) def __getattr__(self, attr): --- 442,451 ---- return cmp(self._oleobj_, other) ! def _ApplyTypes_(self, dispid, wFlags, retType, argTypes, user, ! resultCLSID, *args): ! return self._get_good_object_( ! self._oleobj_.InvokeTypes( ! dispid, 0, wFlags, retType, argTypes, *args), ! user, resultCLSID) def __getattr__(self, attr): |
From: <mha...@us...> - 2004-01-20 01:24:34
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/mapi In directory sc8-pr-cvs1:/tmp/cvs-serv28096/com/win32comext/mapi Modified Files: mapitags.py Log Message: New property tag. Index: mapitags.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/mapitags.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** mapitags.py 2 Jul 2003 03:40:37 -0000 1.3 --- mapitags.py 20 Jan 2004 01:24:31 -0000 1.4 *************** *** 1001,1002 **** --- 1001,1003 ---- PR_MESSAGE_SIZE_EXTENDED = PROP_TAG(PT_I8, PROP_ID(PR_MESSAGE_SIZE)) + PR_USERFIELDS = PROP_TAG(PT_BINARY, 0x36e3) |
From: <mha...@us...> - 2004-01-20 01:24:11
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/mapi In directory sc8-pr-cvs1:/tmp/cvs-serv27802/com/win32comext/mapi Modified Files: mapiutil.py Log Message: When looking for the name of a property, handle the fact that the returned property tag may have the 'correct' ID, but the wrong type (generally the type will be PT_ERROR indicating the property doesn't actually exist). However, we still need to handle the fact that the same ID with different types will yield different property names. Index: mapiutil.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/mapiutil.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** mapiutil.py 10 Mar 2003 01:03:13 -0000 1.4 --- mapiutil.py 20 Jan 2004 01:24:08 -0000 1.5 *************** *** 14,19 **** for name, value in mapitags.__dict__.items(): if name[:3] == 'PR_': prTable[value] = name ! return prTable.get(pt, hex(pt)) mapiErrorTable = {} --- 14,37 ---- for name, value in mapitags.__dict__.items(): if name[:3] == 'PR_': + # Store both the full ID (including type) and just the ID. + # This is so PR_FOO_A and PR_FOO_W are still differentiated, + # but should we get a PT_FOO with PT_ERROR set, we fallback + # to the ID. prTable[value] = name ! prTable[mapitags.PROP_ID(value)] = name ! try: ! try: ! return prTable[pt] ! except KeyError: ! # Can't find it exactly - see if the raw ID exists. ! return prTable[mapitags.PROP_ID(pt)] ! except KeyError: ! # god-damn bullshit hex() warnings: I don't see a way to get the ! # old behaviour without a warning!! ! ret = hex(long(pt)) ! # -0x8000000L -> 0x80000000 ! if ret[0]=='-': ret = ret[1:] ! if ret[-1]=='L': ret = ret[:-1] ! return ret mapiErrorTable = {} |
From: <mha...@us...> - 2004-01-20 01:20:19
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv27411/win32/src Modified Files: win32gui.i Log Message: When raising a TypeError for a handle, include in the message the type of the object. Index: win32gui.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32gui.i,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** win32gui.i 15 Oct 2003 04:22:03 -0000 1.31 --- win32gui.i 20 Jan 2004 01:20:14 -0000 1.32 *************** *** 916,921 **** $target = (LPTSTR) PyInt_AsLong($source); else { ! PyErr_SetString(PyExc_TypeError, "Must pass an integer or a string"); ! return NULL; } } --- 916,922 ---- $target = (LPTSTR) PyInt_AsLong($source); else { ! return PyErr_Format(PyExc_TypeError, ! "Must pass an integer or a string (got '%s')", ! $source->ob_type->tp_name); } } *************** *** 1003,1008 **** default: if (!PyInt_Check(ob)) { ! PyErr_SetString(PyExc_TypeError, "object must be an integer"); ! return NULL; } l = PyInt_AsLong(ob); --- 1004,1010 ---- default: if (!PyInt_Check(ob)) { ! return PyErr_Format(PyExc_TypeError, ! "object must be an integer (got '%s')", ! ob->ob_type->tp_name); } l = PyInt_AsLong(ob); |
From: <mha...@us...> - 2003-12-23 05:55:20
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/mapi/src In directory sc8-pr-cvs1:/tmp/cvs-serv32597 Modified Files: mapi.i Log Message: Add TBL_ALL_COLUMNS constants. Index: mapi.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/src/mapi.i,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** mapi.i 1 Sep 2003 12:10:28 -0000 1.4 --- mapi.i 23 Dec 2003 05:55:11 -0000 1.5 *************** *** 431,434 **** --- 431,437 ---- #define TABLE_SORT_DESCEND TABLE_SORT_DESCEND // The table should be sorted in descending order. + #define TBL_ALL_COLUMNS TBL_ALL_COLUMNS // The table should return all available columns. + + // @object MAPIINIT_0|A MAPIINIT_0 is represented as a tuple of: // @tupleitem 0|int|version|This must be MAPI_INIT_VERSION. |
From: <mha...@us...> - 2003-12-08 02:09:39
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv7200 Modified Files: setup_win32all.py Log Message: Install exchange.pyd and exchdapi.pyd into the correct directories. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** setup_win32all.py 3 Dec 2003 09:26:08 -0000 1.7 --- setup_win32all.py 8 Dec 2003 02:09:37 -0000 1.8 *************** *** 183,187 **** class WinExt_win32com_mapi(WinExt_win32com): def get_pywin32_dir(self): ! return "win32com/mapi" # A hacky extension class for pywintypesXX.dll and pythoncomXX.dll --- 183,187 ---- class WinExt_win32com_mapi(WinExt_win32com): def get_pywin32_dir(self): ! return "win32comext/mapi" # A hacky extension class for pywintypesXX.dll and pythoncomXX.dll |
From: <mha...@us...> - 2003-12-03 11:33:25
|
Update of /cvsroot/pywin32/pywin32/com/win32com In directory sc8-pr-cvs1:/tmp/cvs-serv7241 Modified Files: storagecon.py Log Message: avoid hex warnings. Index: storagecon.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/storagecon.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** storagecon.py 30 Oct 2003 06:24:15 -0000 1.3 --- storagecon.py 3 Dec 2003 11:33:22 -0000 1.4 *************** *** 59,73 **** PID_DICTIONARY = 0 ! PID_CODEPAGE = 0x1 ! PID_FIRST_USABLE = 0x2 ! PID_FIRST_NAME_DEFAULT = 0xfff ! PID_LOCALE = 0x80000000 ! PID_MODIFY_TIME = 0x80000001 ! PID_SECURITY = 0x80000002 ! PID_BEHAVIOR = 0x80000003 ! PID_ILLEGAL = 0xffffffff ! PID_MIN_READONLY = 0x80000000 ! PID_MAX_READONLY = 0xbfffffff ## DiscardableInformation --- 59,73 ---- PID_DICTIONARY = 0 ! PID_CODEPAGE = 1 ! PID_FIRST_USABLE = 2 ! PID_FIRST_NAME_DEFAULT = 4095 ! PID_LOCALE = -2147483648 ! PID_MODIFY_TIME = -2147483647 ! PID_SECURITY = -2147483646 ! PID_BEHAVIOR = -2147483645 ! PID_ILLEGAL = -1 ! PID_MIN_READONLY = -2147483648 ! PID_MAX_READONLY = -1073741825 ## DiscardableInformation *************** *** 75,126 **** ## SummaryInformation ! PIDSI_TITLE = 0x00000002 ! PIDSI_SUBJECT = 0x00000003 ! PIDSI_AUTHOR = 0x00000004 ! PIDSI_KEYWORDS = 0x00000005 ! PIDSI_COMMENTS = 0x00000006 ! PIDSI_TEMPLATE = 0x00000007 ! PIDSI_LASTAUTHOR = 0x00000008 ! PIDSI_REVNUMBER = 0x00000009 ! PIDSI_EDITTIME = 0x0000000a ! PIDSI_LASTPRINTED = 0x0000000b ! PIDSI_CREATE_DTM = 0x0000000c ! PIDSI_LASTSAVE_DTM = 0x0000000d ! PIDSI_PAGECOUNT = 0x0000000e ! PIDSI_WORDCOUNT = 0x0000000f ! PIDSI_CHARCOUNT = 0x00000010 ! PIDSI_THUMBNAIL = 0x00000011 ! PIDSI_APPNAME = 0x00000012 ! PIDSI_DOC_SECURITY = 0x00000013 ## DocSummaryInformation ! PIDDSI_CATEGORY = 0x00000002 ! PIDDSI_PRESFORMAT = 0x00000003 ! PIDDSI_BYTECOUNT = 0x00000004 ! PIDDSI_LINECOUNT = 0x00000005 ! PIDDSI_PARCOUNT = 0x00000006 ! PIDDSI_SLIDECOUNT = 0x00000007 ! PIDDSI_NOTECOUNT = 0x00000008 ! PIDDSI_HIDDENCOUNT = 0x00000009 ! PIDDSI_MMCLIPCOUNT = 0x0000000A ! PIDDSI_SCALE = 0x0000000B ! PIDDSI_HEADINGPAIR = 0x0000000C ! PIDDSI_DOCPARTS = 0x0000000D ! PIDDSI_MANAGER = 0x0000000E ! PIDDSI_COMPANY = 0x0000000F ! PIDDSI_LINKSDIRTY = 0x00000010 ## MediaFileSummaryInfo ! PIDMSI_EDITOR = 0x00000002 ! PIDMSI_SUPPLIER = 0x00000003 ! PIDMSI_SOURCE = 0x00000004 ! PIDMSI_SEQUENCE_NO = 0x00000005 ! PIDMSI_PROJECT = 0x00000006 ! PIDMSI_STATUS = 0x00000007 ! PIDMSI_OWNER = 0x00000008 ! PIDMSI_RATING = 0x00000009 ! PIDMSI_PRODUCTION = 0x0000000A ! PIDMSI_COPYRIGHT = 0x0000000B ## PROPSETFLAG enum --- 75,126 ---- ## SummaryInformation ! PIDSI_TITLE = 2 ! PIDSI_SUBJECT = 3 ! PIDSI_AUTHOR = 4 ! PIDSI_KEYWORDS = 5 ! PIDSI_COMMENTS = 6 ! PIDSI_TEMPLATE = 7 ! PIDSI_LASTAUTHOR = 8 ! PIDSI_REVNUMBER = 9 ! PIDSI_EDITTIME = 10 ! PIDSI_LASTPRINTED = 11 ! PIDSI_CREATE_DTM = 12 ! PIDSI_LASTSAVE_DTM = 13 ! PIDSI_PAGECOUNT = 14 ! PIDSI_WORDCOUNT = 15 ! PIDSI_CHARCOUNT = 16 ! PIDSI_THUMBNAIL = 17 ! PIDSI_APPNAME = 18 ! PIDSI_DOC_SECURITY = 19 ## DocSummaryInformation ! PIDDSI_CATEGORY = 2 ! PIDDSI_PRESFORMAT = 3 ! PIDDSI_BYTECOUNT = 4 ! PIDDSI_LINECOUNT = 5 ! PIDDSI_PARCOUNT = 6 ! PIDDSI_SLIDECOUNT = 7 ! PIDDSI_NOTECOUNT = 8 ! PIDDSI_HIDDENCOUNT = 9 ! PIDDSI_MMCLIPCOUNT = 10 ! PIDDSI_SCALE = 11 ! PIDDSI_HEADINGPAIR = 12 ! PIDDSI_DOCPARTS = 13 ! PIDDSI_MANAGER = 14 ! PIDDSI_COMPANY = 15 ! PIDDSI_LINKSDIRTY = 16 ## MediaFileSummaryInfo ! PIDMSI_EDITOR = 2 ! PIDMSI_SUPPLIER = 3 ! PIDMSI_SOURCE = 4 ! PIDMSI_SEQUENCE_NO = 5 ! PIDMSI_PROJECT = 6 ! PIDMSI_STATUS = 7 ! PIDMSI_OWNER = 8 ! PIDMSI_RATING = 9 ! PIDMSI_PRODUCTION = 10 ! PIDMSI_COPYRIGHT = 11 ## PROPSETFLAG enum |
From: <th...@us...> - 2003-12-03 09:31:09
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv21595 Modified Files: pywin32_postinstall.py Log Message: Also install the Pythonwin shortcut on Win98. Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** pywin32_postinstall.py 3 Dec 2003 09:00:57 -0000 1.5 --- pywin32_postinstall.py 3 Dec 2003 09:31:06 -0000 1.6 *************** *** 156,161 **** try: # use bdist_wininst builtins to create a shortcut. ! # XXX CSIDL_COMMON_PROGRAMS only available works on NT/2000/XP: ! fldr = get_special_folder_path("CSIDL_COMMON_PROGRAMS") dst = os.path.join(fldr, "Python %d.%d\\PythonWin.lnk" % \ (sys.version_info[0], sys.version_info[1])) --- 156,165 ---- try: # use bdist_wininst builtins to create a shortcut. ! try: ! # CSIDL_COMMON_PROGRAMS only available works on NT/2000/XP: ! fldr = get_special_folder_path("CSIDL_COMMON_PROGRAMS") ! except OSError: ! # CSIDL_PROGRAMS should work on Win 98 ! fldr = get_special_folder_path("CSIDL_PROGRAMS") dst = os.path.join(fldr, "Python %d.%d\\PythonWin.lnk" % \ (sys.version_info[0], sys.version_info[1])) *************** *** 165,171 **** file_created(dst) except Exception, details: ! print details else: ! print "Shortcut for Pythonwin created" print "The pywin32 extensions were successfully installed." --- 169,177 ---- file_created(dst) except Exception, details: ! if verbose: ! print details else: ! if verbose: ! print "Shortcut for Pythonwin created" print "The pywin32 extensions were successfully installed." |
From: <mha...@us...> - 2003-12-03 09:26:12
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv20632 Modified Files: setup_win32all.py Log Message: Janez Jere reports that all the COM modules fail without the platform SDK. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** setup_win32all.py 3 Dec 2003 09:04:07 -0000 1.6 --- setup_win32all.py 3 Dec 2003 09:26:08 -0000 1.7 *************** *** 171,174 **** --- 171,178 ---- kw["dsp_file"] = "com/" + name + ".dsp" kw["libraries"] = kw.get("libraries", "") + " oleaut32 ole32" + + # COM extensions require later windows headers. + if not kw.get("windows_h_version"): + kw["windows_h_version"] = 0x500 WinExt.__init__(self, name, **kw) def get_pywin32_dir(self): *************** *** 597,606 **** ("win2kras", "rasapi32", False, 0x0500), ("win32api", "user32 advapi32 shell32 version", False, 0x0500), ! ("win32file", "oleaut32", False), ("win32event", "user32", False), ("win32clipboard", "gdi32 user32 shell32", False), ("win32evtlog", "advapi32 oleaut32", False), # win32gui handled below ! ("win32help", "htmlhelp user32 advapi32", False), ("win32lz", "lz32", False), ("win32net", "netapi32", True), --- 601,610 ---- ("win2kras", "rasapi32", False, 0x0500), ("win32api", "user32 advapi32 shell32 version", False, 0x0500), ! ("win32file", "oleaut32", False, 0x0500), ("win32event", "user32", False), ("win32clipboard", "gdi32 user32 shell32", False), ("win32evtlog", "advapi32 oleaut32", False), # win32gui handled below ! ("win32help", "htmlhelp user32 advapi32", False, 0x0500), ("win32lz", "lz32", False), ("win32net", "netapi32", True), *************** *** 611,615 **** ("win32ras", "rasapi32 user32", False), ("win32security", "advapi32 user32", True), ! ("win32service", "advapi32 oleaut32", True), ("win32trace", "advapi32", False), ("win32wnet", "netapi32 mpr", False), --- 615,619 ---- ("win32ras", "rasapi32 user32", False), ("win32security", "advapi32 user32", True), ! ("win32service", "advapi32 oleaut32", True, 0x0500), ("win32trace", "advapi32", False), ("win32wnet", "netapi32 mpr", False), *************** *** 640,644 **** '-DWINNT', '-DPYSERVICE_BUILD_DLL'], libraries = "user32 ole32 advapi32 shell32", ! dsp_file = r"win32\Pythonservice servicemanager.dsp") ] --- 644,649 ---- '-DWINNT', '-DPYSERVICE_BUILD_DLL'], libraries = "user32 ole32 advapi32 shell32", ! dsp_file = r"win32\Pythonservice servicemanager.dsp", ! windows_h_version = 0x500) ] *************** *** 650,653 **** --- 655,659 ---- extra_compile_args = ['-DBUILD_PYTHONCOM'], pch_header = "stdafx.h", + windows_h_version = 0x500, ) com_extensions = [pythoncom] *************** *** 682,686 **** WinExt_pythonwin("win32ui", extra_compile_args = ['-DBUILD_PYW'], pch_header="stdafx.h"), ! WinExt_pythonwin("win32uiole", pch_header="stdafxole.h"), WinExt_pythonwin("dde", pch_header="stdafxdde.h"), ] --- 688,693 ---- WinExt_pythonwin("win32ui", extra_compile_args = ['-DBUILD_PYW'], pch_header="stdafx.h"), ! WinExt_pythonwin("win32uiole", pch_header="stdafxole.h", ! windows_h_version = 0x500), WinExt_pythonwin("dde", pch_header="stdafxdde.h"), ] |
From: <mha...@us...> - 2003-12-03 09:04:10
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv17422 Modified Files: setup_win32all.py Log Message: Update comments and docstrings. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** setup_win32all.py 3 Dec 2003 08:11:27 -0000 1.5 --- setup_win32all.py 3 Dec 2003 09:04:07 -0000 1.6 *************** *** 5,14 **** These extensions require a number of libraries to build, some of which may ! require your to install special SDKs or toolkits. This script will attempt ! to build as many as it can, and at the end of the build, will report any ! extension modules that could not be built and why. Not being able to build ! the MAPI or ActiveScripting related projects is common. ! If you don't use these extensions, you can ignore these warnings; if you do ! use them, you must install the correct libraries. To install the win32all extensions, execute: --- 5,18 ---- These extensions require a number of libraries to build, some of which may ! require you to install special SDKs or toolkits. This script will attempt ! to build as many as it can, and at the end of the build will report any ! extension modules that could not be built and why. Early versions of ! certain Windows headers will also cause certain modules to be skipped (in ! general, the latest "Platform SDK" from: ! http://www.microsoft.com/msdownload/platformsdk/sdkupdate ! should be used. ! ! If you don't use the extensions that fail to build, you can ignore these ! warnings; if you do use them, you must install the correct libraries. To install the win32all extensions, execute: *************** *** 19,28 **** There should be no need to modify the registry. ! To build or install debug (_d) versions of these extensions, pass the "--debug" flag to the build command - eg: python setup_win32all.py -q build --debug or to build and install a debug version: python setup_win32all.py -q build --debug install - you must have built (or installed) a debug version of Python for this to work. """ # Thomas Heller, started in 2000 or so. --- 23,32 ---- There should be no need to modify the registry. ! To build or install debug (_d) versions of these extensions, ensure you have ! built or installed a debug version of Python itself, then pass the "--debug" flag to the build command - eg: python setup_win32all.py -q build --debug or to build and install a debug version: python setup_win32all.py -q build --debug install """ # Thomas Heller, started in 2000 or so. *************** *** 889,896 **** # some 'no wait' executor - spawn seems fine! We pass the PID of this # process so the child will wait for us. if not dist.dry_run and dist.command_obj.has_key('install') \ and not dist.command_obj.has_key('bdist_wininst'): ! # What executable to use? This one I guess. Maybe I could just import ! # as a module and execute? filename = os.path.join( os.path.dirname(sys.argv[0]), "pywin32_postinstall.py") --- 893,901 ---- # some 'no wait' executor - spawn seems fine! We pass the PID of this # process so the child will wait for us. + # XXX - hmm - a closer look at distutils shows it only uses win32api + # if _winreg fails - and this never should. Need to revisit this! if not dist.dry_run and dist.command_obj.has_key('install') \ and not dist.command_obj.has_key('bdist_wininst'): ! # What executable to use? This one I guess. filename = os.path.join( os.path.dirname(sys.argv[0]), "pywin32_postinstall.py") |
From: <th...@us...> - 2003-12-03 09:01:01
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv17022 Modified Files: pywin32_postinstall.py Log Message: Install a shortcut for Pythonwin with the bdist_wininst builtin functions (only works on NT/2000/XP). Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** pywin32_postinstall.py 3 Dec 2003 08:20:12 -0000 1.4 --- pywin32_postinstall.py 3 Dec 2003 09:00:57 -0000 1.5 *************** *** 148,151 **** --- 148,172 ---- os.mkdir(make_dir) + try: + create_shortcut + except NameError: + # todo: create shortcut with win32all + pass + else: + try: + # use bdist_wininst builtins to create a shortcut. + # XXX CSIDL_COMMON_PROGRAMS only available works on NT/2000/XP: + fldr = get_special_folder_path("CSIDL_COMMON_PROGRAMS") + dst = os.path.join(fldr, "Python %d.%d\\PythonWin.lnk" % \ + (sys.version_info[0], sys.version_info[1])) + create_shortcut(os.path.join(lib_dir, "Pythonwin\\Pythonwin.exe"), + "The Pythonwin IDE", + dst) + file_created(dst) + except Exception, details: + print details + else: + print "Shortcut for Pythonwin created" + print "The pywin32 extensions were successfully installed." |
From: <th...@us...> - 2003-12-03 08:20:19
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv11275 Modified Files: pywin32_postinstall.py Log Message: Add some notes about how this script is run from inside bdist_wininst. And accept the '-remove' command line argument, otherwise uninstallation will fail. Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** pywin32_postinstall.py 1 Dec 2003 10:13:25 -0000 1.3 --- pywin32_postinstall.py 3 Dec 2003 08:20:12 -0000 1.4 *************** *** 19,24 **** verbose = 1 ! def file_created(file): ! pass def AbortRetryIgnore(desc, func, *args): --- 19,34 ---- verbose = 1 ! try: ! # When this script is run from inside the bdist_wininst installer, ! # file_created() and directory_created() are additional builtin ! # functions which write lines to Python23\pywin32-install.log. This is ! # a list of actions for the uninstaller, the format is inspired by what ! # the Wise installer also creates. ! file_created ! except NameError: ! def file_created(file): ! pass ! def directory_created(directory): ! pass def AbortRetryIgnore(desc, func, *args): *************** *** 135,138 **** --- 145,149 ---- if verbose: print "Creating directory", make_dir + directory_created(make_dir) os.mkdir(make_dir) *************** *** 154,157 **** --- 165,177 ---- print msg.strip() % os.path.basename(sys.argv[0]) + # NOTE: If this script is run from inside the bdist_wininst created + # binary installer or uninstaller, the command line args are either + # '-install' or '-remove'. + + # Important: From inside the binary installer this script MUST NOT + # call sys.exit() or raise SystemExit, otherwise not only this script + # but also the installer will terminate! (Is there a way to prevent + # this from the bdist_wininst C code?) + if __name__=='__main__': if len(sys.argv)==1: *************** *** 178,181 **** --- 198,203 ---- elif arg == "-quiet": verbose = 0 + elif arg == "-remove": + break # we do nothing for now else: print "Unknown option:", arg |
From: <th...@us...> - 2003-12-03 08:11:30
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv9568 Modified Files: setup_win32all.py Log Message: Add a custom install_data command, which lets us remove the 'hack' in convert_data_files - the hack prevented bdist_wininst doing the right thing. Prevent running the post_install script when 'bdist_wininst' is built. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** setup_win32all.py 3 Dec 2003 07:25:18 -0000 1.4 --- setup_win32all.py 3 Dec 2003 08:11:27 -0000 1.5 *************** *** 37,40 **** --- 37,41 ---- from distutils.command.install_lib import install_lib from distutils.command.build_ext import build_ext + from distutils.command.install_data import install_data from distutils.dep_util import newer_group from distutils import log *************** *** 42,45 **** --- 43,47 ---- from distutils.sysconfig import get_python_lib from distutils.filelist import FileList + import types, glob import os, string, sys import re *************** *** 553,556 **** --- 555,571 ---- ################################################################ + class my_install_data(install_data): + """A custom install_data command, which will install it's files + into the standard directories (normally lib/site-packages). + """ + def finalize_options(self): + if self.install_dir is None: + installobj = self.distribution.get_command_obj('install') + self.install_dir = installobj.install_lib + print 'Installing data files to %s' % self.install_dir + install_data.finalize_options(self) + + ################################################################ + pywintypes = WinExt_system32('pywintypes', dsp_file = r"win32\PyWinTypes.dsp", *************** *** 724,728 **** # get 'com/win32com/whatever' installed to 'win32com/whatever' def convert_data_files(files): - base_dir = "Lib/site-packages" ret = [] for file in files: --- 739,742 ---- *************** *** 744,748 **** if path_use.startswith("com/") or path_use.startswith("com\\"): path_use = path_use[4:] - path_use = os.path.join(base_dir, path_use) ret.append( (path_use, files_use)) return ret --- 758,761 ---- *************** *** 777,780 **** --- 790,794 ---- cmdclass = { #'install_lib': my_install_lib, 'build_ext': my_build_ext, + 'install_data': my_install_data, }, options = {"bdist_wininst": {"install_script": "pywin32_postinstall.py"}}, *************** *** 847,854 **** # And data files convert_data_files can't handle. [ ! ('Lib/site-packages\\win32com', ('com/License.txt',)), # pythoncom.py doesn't quite fit anywhere else. # Note we don't get an auto .pyc - but who cares? ! ('Lib/site-packages', ('com/pythoncom.py',)), ], ) --- 861,868 ---- # And data files convert_data_files can't handle. [ ! ('win32com', ('com/License.txt',)), # pythoncom.py doesn't quite fit anywhere else. # Note we don't get an auto .pyc - but who cares? ! ('', ('com/pythoncom.py',)), ], ) *************** *** 875,879 **** # some 'no wait' executor - spawn seems fine! We pass the PID of this # process so the child will wait for us. ! if not dist.dry_run and dist.command_obj.has_key('install'): # What executable to use? This one I guess. Maybe I could just import # as a module and execute? --- 889,894 ---- # some 'no wait' executor - spawn seems fine! We pass the PID of this # process so the child will wait for us. ! if not dist.dry_run and dist.command_obj.has_key('install') \ ! and not dist.command_obj.has_key('bdist_wininst'): # What executable to use? This one I guess. Maybe I could just import # as a module and execute? |
From: <mha...@us...> - 2003-12-03 07:25:24
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv3239 Modified Files: setup_win32all.py Log Message: win32api apparently also needs the platform sdk. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** setup_win32all.py 2 Dec 2003 23:06:59 -0000 1.3 --- setup_win32all.py 3 Dec 2003 07:25:18 -0000 1.4 *************** *** 577,581 **** ("timer", "user32", False), ("win2kras", "rasapi32", False, 0x0500), ! ("win32api", "user32 advapi32 shell32 version", False), ("win32file", "oleaut32", False), ("win32event", "user32", False), --- 577,581 ---- ("timer", "user32", False), ("win2kras", "rasapi32", False, 0x0500), ! ("win32api", "user32 advapi32 shell32 version", False, 0x0500), ("win32file", "oleaut32", False), ("win32event", "user32", False), *************** *** 588,592 **** ("win32pdh", "", False), ("win32pipe", "", False), - # win32popenWin9x later ("win32print", "winspool user32", False), ("win32process", "advapi32 user32", False), --- 588,591 ---- |
From: <mha...@us...> - 2003-12-02 23:07:04
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv19321 Modified Files: setup_win32all.py Log Message: Allow an extension to nominate the minimum WINDOWS.H version they need. Win2kras in particular needs a platform SDK version (the MSVC6 version one fails) Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** setup_win32all.py 2 Dec 2003 12:33:25 -0000 1.2 --- setup_win32all.py 2 Dec 2003 23:06:59 -0000 1.3 *************** *** 75,79 **** export_symbol_file=None, dsp_file=None, ! pch_header=None ): assert dsp_file or sources, "Either dsp_file or sources must be specified" --- 75,80 ---- export_symbol_file=None, dsp_file=None, ! pch_header=None, ! windows_h_version=None, # min version of windows.h needed. ): assert dsp_file or sources, "Either dsp_file or sources must be specified" *************** *** 92,95 **** --- 93,97 ---- self.pch_header = pch_header + self.windows_h_version = windows_h_version Extension.__init__ (self, name, sources, include_dirs, *************** *** 183,186 **** --- 185,189 ---- def finalize_options(self): build_ext.finalize_options(self) + self.windows_h_version = None # The pywintypes library is created in the build_temp # directory, so we need to add this to library_dirs *************** *** 192,195 **** --- 195,224 ---- def _why_cant_build_extension(self, ext): # Return None, or a reason it can't be built. + if self.windows_h_version is None: + include_dirs = self.compiler.include_dirs + \ + os.environ.get("INCLUDE").split(os.pathsep) + for d in include_dirs: + look = os.path.join(d, "WINDOWS.H") + if os.path.isfile(look): + # read the fist 100 lines, looking for #define WINVER 0xNN + reob = re.compile("#define\WWINVER\W(0x[0-9a-fA-F]+)") + f = open(look, "r") + for i in range(100): + line = f.readline() + match = reob.match(line) + if match is not None: + self.windows_h_version = int(match.group(1), 16) + log.info("Found WINDOWS.H version 0x%x in %s" \ + % (self.windows_h_version, d)) + break + if self.windows_h_version is not None: + break + else: + raise RuntimeError, "Can't find a version in Windows.h" + if ext.windows_h_version > self.windows_h_version: + return "WINDOWS.H with version 0x%x is required, but only " \ + "version 0x%x is installed." \ + % (ext.windows_h_version, self.windows_h_version) + common_dirs = self.compiler.library_dirs common_dirs += os.environ.get("LIB").split(os.pathsep) *************** *** 541,545 **** ) ! for name, lib_names, is_unicode in ( ("dbi", "", False), ("mmapfile", "", False), --- 570,574 ---- ) ! for info in ( ("dbi", "", False), ("mmapfile", "", False), *************** *** 547,551 **** ("perfmon", "", True), ("timer", "user32", False), ! ("win2kras", "rasapi32", False), ("win32api", "user32 advapi32 shell32 version", False), ("win32file", "oleaut32", False), --- 576,580 ---- ("perfmon", "", True), ("timer", "user32", False), ! ("win2kras", "rasapi32", False, 0x0500), ("win32api", "user32 advapi32 shell32 version", False), ("win32file", "oleaut32", False), *************** *** 569,572 **** --- 598,606 ---- ): + name, lib_names, is_unicode = info[:3] + if len(info)>3: + windows_h_ver = info[3] + else: + windows_h_ver = None extra_compile_args = [] if is_unicode: *************** *** 574,578 **** ext = WinExt_win32(name, libraries=lib_names, ! extra_compile_args = extra_compile_args) win32_extensions.append(ext) --- 608,613 ---- ext = WinExt_win32(name, libraries=lib_names, ! extra_compile_args = extra_compile_args, ! windows_h_version = windows_h_ver) win32_extensions.append(ext) *************** *** 722,726 **** if not str(details).startswith("No file"): raise ! print 'NOTE: Optional file %s not found - skipping' % file else: ret.append(temp[0]) --- 757,761 ---- if not str(details).startswith("No file"): raise ! log.info('NOTE: Optional file %s not found - skipping' % file) else: ret.append(temp[0]) |
From: <mha...@us...> - 2003-12-02 12:33:28
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv5839 Modified Files: setup_win32all.py Log Message: Patches from Thomas, and local fix for exchange/exchdapi Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** setup_win32all.py 1 Dec 2003 10:47:59 -0000 1.1 --- setup_win32all.py 2 Dec 2003 12:33:25 -0000 1.2 *************** *** 52,55 **** --- 52,60 ---- False=1==0 + try: + this_file = __file__ + except NameError: + this_file = sys.argv[0] + class WinExt (Extension): # Base class for all win32 extensions, with some predefined *************** *** 120,123 **** --- 125,139 ---- pathname = os.path.normpath(os.path.join(dsp_path, fields[1])) result.append(pathname) + + # Sort the sources so that (for example) the .mc file is processed first, + # building this may create files included by other source files. + # Note that this requires a patch to distutils' ccompiler classes so that + # they build the sources in the order given. + build_order = ".i .mc .rc .cpp".split() + decorated = [(build_order.index(os.path.splitext(fname)[-1].lower()), fname) + for fname in result] + decorated.sort() + result = [item[1] for item in decorated] + return result *************** *** 643,646 **** --- 659,665 ---- 'PyIProfAdmin': '', 'PyIProfSect': 'IMAPIProp', + # exchange and exchdapi + 'exchange': None, + 'exchdapi': None, # ADSI 'adsi': None, # module *************** *** 694,698 **** ret.append( (path_use, files_use)) return ret ! ################################################################ --- 713,729 ---- ret.append( (path_use, files_use)) return ret ! ! def convert_optional_data_files(files): ! ret = [] ! for file in files: ! try: ! temp = convert_data_files([file]) ! except RuntimeError, details: ! if not str(details).startswith("No file"): ! raise ! print 'NOTE: Optional file %s not found - skipping' % file ! else: ! ret.append(temp[0]) ! return ret ################################################################ *************** *** 756,761 **** py_modules = expand_modules("win32\\lib"), ! data_files=convert_data_files([ ! 'pywin32.chm', 'pythonwin/pywin/*.cfg', 'pythonwin/license.txt', --- 787,794 ---- py_modules = expand_modules("win32\\lib"), ! data_files=convert_optional_data_files([ ! 'PyWin32.chm', ! ]) + ! convert_data_files([ 'pythonwin/pywin/*.cfg', 'pythonwin/license.txt', *************** *** 777,781 **** 'com/win32comext/axscript/demos/client/wsh/*', 'com/win32comext/axscript/demos/client/asp/*', ! ]) + \ # And data files convert_data_files can't handle. [ --- 810,814 ---- 'com/win32comext/axscript/demos/client/wsh/*', 'com/win32comext/axscript/demos/client/asp/*', ! ]) + # And data files convert_data_files can't handle. [ |
From: <mha...@us...> - 2003-12-02 03:26:18
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src/extensions In directory sc8-pr-cvs1:/tmp/cvs-serv2272 Modified Files: PyICatRegister.cpp Log Message: _wcsncpy wants the number of characters, not bytes. Index: PyICatRegister.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyICatRegister.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** PyICatRegister.cpp 31 Oct 2003 12:40:59 -0000 1.4 --- PyICatRegister.cpp 2 Dec 2003 00:15:15 -0000 1.5 *************** *** 108,112 **** OLECHAR *oc; if (PyWin_String_AsWCHAR(desc, (DWORD)-1, &oc)) { ! wcsncpy(infos[i].szDescription, oc, sizeof(infos->szDescription)); PyWinObject_FreeString(oc); } --- 108,113 ---- OLECHAR *oc; if (PyWin_String_AsWCHAR(desc, (DWORD)-1, &oc)) { ! wcsncpy(infos[i].szDescription, oc, ! sizeof(infos->szDescription)/sizeof(infos->szDescription[0])); PyWinObject_FreeString(oc); } |