pywin32-checkins Mailing List for Python for Windows Extensions (Page 141)
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-02-05 23:44:36
|
Update of /cvsroot/pywin32/pywin32/win32/Lib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4301/win32/lib Modified Files: pywintypes.py Log Message: Don't try and use win32api to locate pywintypesxx.dll - it causes more trouble than it is worth, seeing as win32api depends on this module. Index: pywintypes.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/Lib/pywintypes.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** pywintypes.py 25 Nov 2003 10:26:23 -0000 1.7 --- pywintypes.py 5 Feb 2004 23:41:59 -0000 1.8 *************** *** 41,50 **** # Eeek - can't find on the path. Try "LoadLibrary", as it # has slightly different semantics than a simple sys.path search ! import win32api ! # Normal Python needs these files in a directory somewhere on ! # %PATH%, so let Windows search it out for us. As win32api ! # loads pywintypes, we can simple get the module after the import ! h = win32api.GetModuleHandle(filename) ! found = win32api.GetModuleFileName(h) # Python can load the module mod = imp.load_module(modname, None, found, --- 41,50 ---- # Eeek - can't find on the path. Try "LoadLibrary", as it # has slightly different semantics than a simple sys.path search ! # XXX - OK, we *don't* try LoadLibrary - if we can't find it, ! # there is an excellent change Windows can't find it, and ! # the attempt to bring in win32api *needs* Windows to find it. ! # If Windows can't find it, it displays a dialog trying to ! # import win32api, which is not what we want! ! raise ImportError, "Can not locate " + filename # Python can load the module mod = imp.load_module(modname, None, found, |
From: <mha...@us...> - 2004-02-05 23:42:30
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3779 Modified Files: setup_win32all.py Log Message: Stop Python 2.2 from always generating SWIG files, fixup the strings used by wininst, and add a "pre-install-script". Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.11 retrieving revision 1.12 diff -C2 -d -r1.11 -r1.12 *** setup_win32all.py 26 Jan 2004 04:07:18 -0000 1.11 --- setup_win32all.py 5 Feb 2004 23:39:50 -0000 1.12 *************** *** 42,46 **** 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 dir_util, file_util from distutils.sysconfig import get_python_lib --- 42,46 ---- from distutils.command.build_ext import build_ext from distutils.command.install_data import install_data ! from distutils.dep_util import newer_group, newer from distutils import dir_util, file_util from distutils.sysconfig import get_python_lib *************** *** 623,637 **** ["-com_interface_parent", interface_parent]) ! swig_cmd.extend(["-o", ! os.path.abspath(target), ! os.path.abspath(source)]) ! log.info("swigging %s to %s", source, target) ! out_dir = os.path.dirname(source) ! cwd = os.getcwd() ! os.chdir(out_dir) ! try: ! self.spawn(swig_cmd) ! finally: ! os.chdir(cwd) return new_sources --- 623,644 ---- ["-com_interface_parent", interface_parent]) ! # This 'newer' check helps python 2.2 builds, which otherwise ! # *always* regenerate the .cpp files, meaning every future ! # build for any platform sees these as dirty. ! # This could probably go once we generate .cpp into the temp dir. ! if newer(os.path.abspath(source), os.path.abspath(target)): ! swig_cmd.extend(["-o", ! os.path.abspath(target), ! os.path.abspath(source)]) ! log.info("swigging %s to %s", source, target) ! out_dir = os.path.dirname(source) ! cwd = os.getcwd() ! os.chdir(out_dir) ! try: ! self.spawn(swig_cmd) ! finally: ! os.chdir(cwd) ! else: ! log.info("skipping swig of %s", source) return new_sources *************** *** 909,915 **** version="200", description="Python for Window Extensions", ! long_description="Includes access to much of the Win32 API, the " ! "ability to create and use COM objects, and the " ! "Pythonwin environment", author="Mark Hammond (et al)", author_email = "mha...@us...", --- 916,922 ---- version="200", description="Python for Window Extensions", ! long_description="Includes access to much of the Win32 API, the\n" ! "ability to create and use COM objects, and the\n" ! "Pythonwin environment.", author="Mark Hammond (et al)", author_email = "mha...@us...", *************** *** 920,924 **** 'install_data': my_install_data, }, ! options = {"bdist_wininst": {"install_script": "pywin32_postinstall.py"}}, scripts = ["pywin32_postinstall.py"], --- 927,935 ---- 'install_data': my_install_data, }, ! options = {"bdist_wininst": ! {"install_script": "pywin32_postinstall.py", ! "pre_install_script": "pywin32_preinstall.py", ! }, ! }, scripts = ["pywin32_postinstall.py"], |
From: <mha...@us...> - 2004-02-05 23:41:26
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3611 Modified Files: PyWin32.kpf Log Message: Random changes komodo keeps making Index: PyWin32.kpf =================================================================== RCS file: /cvsroot/pywin32/pywin32/PyWin32.kpf,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PyWin32.kpf 20 Jan 2004 01:57:15 -0000 1.3 --- PyWin32.kpf 5 Feb 2004 23:38:49 -0000 1.4 *************** *** 3,8 **** <project kpf_version="2" name="PyWin32"> <preference-set id=""> - <string id="import_dirname">E:\src\pythonex</string> <string id="import_exclude_matches">*.*~;*.bak;*.tmp;CVS;.#*;*.pyo;*.pyc;*.dsp</string> <string id="import_include_matches">*.c;*.cpp;*.h;*.def;*.mc;*.py;*.bat;*.txt;*.vbs;*.js;*.x*;*.i;</string> </preference-set> --- 3,8 ---- <project kpf_version="2" name="PyWin32"> <preference-set id=""> <string id="import_exclude_matches">*.*~;*.bak;*.tmp;CVS;.#*;*.pyo;*.pyc;*.dsp</string> + <string id="import_dirname">E:\src\pythonex</string> <string id="import_include_matches">*.c;*.cpp;*.h;*.def;*.mc;*.py;*.bat;*.txt;*.vbs;*.js;*.x*;*.i;</string> </preference-set> *************** *** 439,445 **** <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> <boolean id="show-dialog">1</boolean> --- 439,445 ---- <preference-set id="Python"> <string id="postparams"></string> <string id="getparams"></string> <boolean id="use-console">0</boolean> + <string id="filename">E:\src\pythonex\com\win32com\test\testvb.py</string> <string id="mpostparams"></string> <boolean id="show-dialog">1</boolean> *************** *** 450,454 **** <string id="documentRoot"></string> <string id="cookieparams"></string> ! <string id="filename">E:\src\pythonex\com\win32com\test\testvb.py</string> <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> --- 450,454 ---- <string id="documentRoot"></string> <string id="cookieparams"></string> ! <string id="userEnvironment"></string> <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> *************** *** 1665,1673 **** <preference-set id="Python"> <string id="postparams"></string> <string id="getparams"></string> <boolean id="use-console">0</boolean> - <string id="filename">E:\src\pythonex\win32\Demos\win32gui_menu.py</string> <string id="mpostparams"></string> ! <boolean id="show-dialog">1</boolean> <string id="request-method">GET</string> <string id="params"></string> --- 1665,1673 ---- <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\Demos\win32gui_menu.py</string> <string id="request-method">GET</string> <string id="params"></string> *************** *** 1676,1680 **** <string id="documentRoot"></string> <string id="cookieparams"></string> ! <string id="userEnvironment"></string> <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> --- 1676,1680 ---- <string id="documentRoot"></string> <string id="cookieparams"></string> ! <boolean id="show-dialog">1</boolean> <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> *************** *** 1950,1955 **** <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> --- 1950,1955 ---- <preference-set id="Python"> <string id="postparams"></string> <string id="getparams"></string> + <boolean id="show-dialog">1</boolean> <boolean id="use-console">0</boolean> <string id="mpostparams"></string> *************** *** 1961,1965 **** <string id="documentRoot"></string> <string id="cookieparams"></string> ! <boolean id="show-dialog">1</boolean> <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> --- 1961,1965 ---- <string id="documentRoot"></string> <string id="cookieparams"></string> ! <string id="userEnvironment"></string> <boolean id="sim-cgi">0</boolean> <string id="cwd"></string> *************** *** 1973,1976 **** --- 1973,1997 ---- </file> <file name="setup_win32all.py" url="setup_win32all.py"> + <preference-set id=""> + <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\setup_win32all.py</string> + <string id="request-method">GET</string> + <string id="params">bdist_wininst --skip-build --target-version=2.2</string> + <string id="userCGIEnvironment"></string> + <string id="posttype">application/x-www-form-urlencoded</string> + <string id="documentRoot"></string> + <string id="cookieparams"></string> + <boolean id="show-dialog">1</boolean> + <string id="cwd"></string> + </preference-set> + </preference-set> + </preference-set> </file> </project> |
From: <mha...@us...> - 2004-02-05 23:40:40
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv3369 Modified Files: pywin32_postinstall.py Log Message: Setting a Python key value isn't recursive - so add the parent explicitly Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** pywin32_postinstall.py 1 Feb 2004 22:27:19 -0000 1.8 --- pywin32_postinstall.py 5 Feb 2004 23:38:03 -0000 1.9 *************** *** 150,153 **** --- 150,155 ---- chm_file = os.path.join(lib_dir, "PyWin32.chm") if os.path.isfile(chm_file): + # This isn't recursive, so if 'Help' doesn't exist, we croak + SetPyKeyVal("Help", None, None) SetPyKeyVal("Help\\Pythonwin Reference", None, chm_file) else: |
From: <mha...@pr...> - 2004-02-01 22:29:15
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18206 Modified Files: pywin32_postinstall.py Log Message: Python 2.2 has no os.waitpid Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** pywin32_postinstall.py 20 Jan 2004 23:09:17 -0000 1.7 --- pywin32_postinstall.py 1 Feb 2004 22:27:19 -0000 1.8 *************** *** 3,7 **** # copies PyWinTypesxx.dll and PythonCOMxx.dll into the system directory, # and creates a pth file ! import os, sys, glob, shutil import _winreg --- 3,7 ---- # copies PyWinTypesxx.dll and PythonCOMxx.dll into the system directory, # and creates a pth file ! import os, sys, glob, shutil, time import _winreg *************** *** 230,233 **** --- 230,236 ---- try: os.waitpid(pid, 0) + except AttributeError: + # Python 2.2 - no waitpid - just sleep. + time.sleep(3) except os.error: # child already dead |
From: <mha...@pr...> - 2004-02-01 22:26:16
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/axscript/client In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv15702/com/win32comext/axscript/client Modified Files: framework.py Log Message: Convert hex constant to decimal to prevent warning. Index: framework.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/axscript/client/framework.py,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** framework.py 8 Nov 2003 00:43:46 -0000 1.19 --- framework.py 1 Feb 2004 22:24:20 -0000 1.20 *************** *** 17,21 **** import types ! SCRIPTTEXT_FORCEEXECUTION = 0x80000000 SCRIPTTEXT_ISEXPRESSION = 0x00000020 SCRIPTTEXT_ISPERSISTENT = 0x00000040 --- 17,21 ---- import types ! SCRIPTTEXT_FORCEEXECUTION = -2147483648 # 0x80000000 SCRIPTTEXT_ISEXPRESSION = 0x00000020 SCRIPTTEXT_ISPERSISTENT = 0x00000040 |
From: <mha...@pr...> - 2004-01-31 21:57:04
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src/extensions In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18251 Modified Files: PyIPropertyStorage.cpp Log Message: When the property value is NULL, return None instead of crashing! Index: PyIPropertyStorage.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/extensions/PyIPropertyStorage.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PyIPropertyStorage.cpp 8 Nov 2003 00:33:38 -0000 1.9 --- PyIPropertyStorage.cpp 31 Jan 2004 21:55:18 -0000 1.10 *************** *** 116,119 **** --- 116,123 ---- return PyWinObject_FromFILETIME(pVar->filetime); case VT_LPSTR: + if (pVar->pszVal == NULL) { + Py_INCREF(Py_None); + return Py_None; + } return PyString_FromString(pVar->pszVal); case VT_LPWSTR: |
From: <mha...@pr...> - 2004-01-26 23:38:13
|
Update of /cvsroot/pywin32/pywin32/AutoDuck In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26261 Modified Files: makedfromi.py Log Message: Autoduck would crash when the hhk has > 96 methods per module. Our .i modules (eg, win32file) are the ones likely to hit this, so we hack up a "win32file (more)" module to list entries > 90. Index: makedfromi.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/AutoDuck/makedfromi.py,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** makedfromi.py 2 Mar 2000 11:08:19 -0000 1.2 --- makedfromi.py 26 Jan 2004 23:37:01 -0000 1.3 *************** *** 70,96 **** lineNo = lineNo + 1 ! # Dump in different order ! if g_com_parent: ! modName = "Py" + modName ! ! for (meth, extras) in methods: ! fields = string.split(meth,'|') ! if len(fields)<>3: ! print "**Error - %s does not have enough fields" % meth ! outFile.write("\n// @pymethod %s|%s|%s|%s\n" % (fields[0],modName,fields[1], fields[2])) ! for extra in extras: ! outFile.write(extra) ! if g_com_parent: ! outFile.write("\n// @object %s|%s" % (modName,modDoc)) ! outFile.write("\n// <nl>Derived from <o %s>\n" % (g_com_parent)) ! else: ! outFile.write("\n// @module %s|%s\n" % (modName,modDoc)) - for (meth, extras) in methods: - fields = string.split(meth,'|') - outFile.write("// @pymeth %s|%s\n" % (fields[1], fields[2])) - for meth in nativeMethods: - outFile.write(meth) outFile.write("\n") for (cname, doc) in constants: --- 70,116 ---- lineNo = lineNo + 1 ! # autoduck seems to crash when > ~97 methods. Loop multiple times, ! # creating a synthetic module name when this happens. ! max_methods = 90 ! # native ones first - hopefully never more than 90 of them! ! assert len(nativeMethods) < max_methods ! method_num = len(nativeMethods) ! chunk_number = 0 ! while 1: ! these_methods = methods[method_num:method_num+max_methods] ! if not these_methods: ! break ! thisModName = modName ! if g_com_parent: ! thisModName = "Py" + modName ! if chunk_number == 0: ! pass ! elif chunk_number == 1: ! thisModName = thisModName + " (more)" ! else: ! thisModName = thisModName + " (more %d)" % (chunk_number+1,) ! for (meth, extras) in these_methods: ! fields = string.split(meth,'|') ! if len(fields)<>3: ! print "**Error - %s does not have enough fields" % meth ! outFile.write("\n// @pymethod %s|%s|%s|%s\n" % (fields[0],thisModName,fields[1], fields[2])) ! for extra in extras: ! outFile.write(extra) ! if g_com_parent: ! outFile.write("\n// @object %s|%s" % (thisModName,modDoc)) ! outFile.write("\n// <nl>Derived from <o %s>\n" % (g_com_parent)) ! else: ! outFile.write("\n// @module %s|%s\n" % (thisModName,modDoc)) ! for (meth, extras) in these_methods: ! fields = string.split(meth,'|') ! outFile.write("// @pymeth %s|%s\n" % (fields[1], fields[2])) ! if chunk_number == 0: ! for meth in nativeMethods: ! outFile.write(meth) ! outFile.write("\n") ! chunk_number += 1 ! method_num += max_methods outFile.write("\n") for (cname, doc) in constants: |
From: <mha...@pr...> - 2004-01-26 23:35:53
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25835 Modified Files: win32file.i Log Message: Wrap some long autoduck lines, and other autoduck tweaks (turns out autoduck crashes when > 96 methods are defined in a module - but the fix to that ends up being in the autoduck tools, not here. For a while, I suspected one of the long lines! Index: win32file.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32file.i,v retrieving revision 1.34 retrieving revision 1.35 diff -C2 -d -r1.34 -r1.35 *** win32file.i 16 Nov 2003 06:59:53 -0000 1.34 --- win32file.i 26 Jan 2004 23:34:56 -0000 1.35 *************** *** 2599,2603 **** } ! // @pyswig int|FileEncryptionStatus|Requires Windows 2000 or higher - Returns FILE_ENCRYPTABLE, FILE_IS_ENCRYPTED, FILE_SYSTEM_ATTR, FILE_ROOT_DIR, FILE_SYSTEM_DIR, FILE_UNKNOWN, FILE_SYSTEM_NOT_SUPPORT, FILE_USER_DISALLOWED, or FILE_READ_ONLY static PyObject* py_FileEncryptionStatus(PyObject *self, PyObject *args) --- 2599,2608 ---- } ! // @pyswig int|FileEncryptionStatus|retrieves the encryption status of the specified file. ! // @rdesc The result is documented as being one of FILE_ENCRYPTABLE, ! // FILE_IS_ENCRYPTED, FILE_SYSTEM_ATTR, FILE_ROOT_DIR, FILE_SYSTEM_DIR, ! // FILE_UNKNOWN, FILE_SYSTEM_NOT_SUPPORT, FILE_USER_DISALLOWED, ! // or FILE_READ_ONLY ! // @comm Requires Windows 2000 or higher. static PyObject* py_FileEncryptionStatus(PyObject *self, PyObject *args) *************** *** 2918,2922 **** } ! // @pyswig (<o PySID>,string,unicode)|QueryRecoveryAgentsOnEncryptedFile|Lists recovery agents for file as a tuple of tuples - ((SID, certificate hash blob, display info),....) static PyObject* py_QueryRecoveryAgentsOnEncryptedFile(PyObject *self, PyObject *args) --- 2923,2928 ---- } ! // @pyswig (<o PySID>,string,unicode)|QueryRecoveryAgentsOnEncryptedFile|Lists recovery agents for file as a tuple of tuples. ! // @rdesc The result is a tuple of tuples - ((SID, certificate hash blob, display info),....) static PyObject* py_QueryRecoveryAgentsOnEncryptedFile(PyObject *self, PyObject *args) *************** *** 2986,2991 **** py_AddUsersToEncryptedFile(PyObject *self, PyObject *args) { ! // @pyparm string/unicode|FileName||File that additional users will be allowed to decrypt ! // @pyparm ((<o PySID>,string,int),...)|pUsers||Sequence representing ENCRYPTION_CERTIFICATE_LIST - elements are sequences consisting of users' Sid, encoded EFS certficate (user must export a .cer to obtain this data), and encoding type (usually 1 for X509_ASN_ENCODING) if (pfnAddUsersToEncryptedFile==NULL) return PyErr_Format(PyExc_NotImplementedError,"AddUsersToEncryptedFile not supported by this version of Windows"); --- 2992,3000 ---- py_AddUsersToEncryptedFile(PyObject *self, PyObject *args) { ! // @pyparm string/unicode|FileName||File that additional users will be allowed to decrypt ! // @pyparm ((<o PySID>,string,int),...)|pUsers||Sequence representing ! // ENCRYPTION_CERTIFICATE_LIST - elements are sequences consisting of ! // users' Sid, encoded EFS certficate (user must export a .cer to obtain ! // this data), and encoding type (usually 1 for X509_ASN_ENCODING) if (pfnAddUsersToEncryptedFile==NULL) return PyErr_Format(PyExc_NotImplementedError,"AddUsersToEncryptedFile not supported by this version of Windows"); |
From: <mha...@pr...> - 2004-01-26 04:40:39
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv4740 Modified Files: win32clipboardmodule.cpp Log Message: Add autoduck param information. Index: win32clipboardmodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32clipboardmodule.cpp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** win32clipboardmodule.cpp 1 Dec 2003 08:22:28 -0000 1.13 --- win32clipboardmodule.cpp 26 Jan 2004 04:39:52 -0000 1.14 *************** *** 457,460 **** --- 457,461 ---- { int iglobal; + // @pyparm int|hglobal||The handle to the global memory object if (!PyArg_ParseTuple(args, "i", &iglobal)) return NULL; |
From: <mha...@pr...> - 2004-01-26 04:10:00
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31748/Pythonwin/pywin Modified Files: __init__.py Log Message: There are some Unicode related issues that seem to go away if we just ignore it - see bug 716708. Index: __init__.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/__init__.py,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** __init__.py 29 Oct 2000 23:40:31 -0000 1.3 --- __init__.py 26 Jan 2004 04:09:13 -0000 1.4 *************** *** 3,7 **** import win32api, win32con, __builtin__ ! is_platform_unicode = hasattr(__builtin__, "unicode") and win32api.GetVersionEx()[3] == win32con.VER_PLATFORM_WIN32_NT default_platform_encoding = "mbcs" # Will it ever be necessary to change this? default_scintilla_encoding = "utf-8" # Scintilla _only_ supports this ATM --- 3,9 ---- import win32api, win32con, __builtin__ ! # This doesn't seem to work correctly on NT - see bug 716708 ! is_platform_unicode = 0 ! #is_platform_unicode = hasattr(__builtin__, "unicode") and win32api.GetVersionEx()[3] == win32con.VER_PLATFORM_WIN32_NT default_platform_encoding = "mbcs" # Will it ever be necessary to change this? default_scintilla_encoding = "utf-8" # Scintilla _only_ supports this ATM |
From: <mha...@pr...> - 2004-01-26 04:08:06
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv31528 Modified Files: setup_win32all.py Log Message: Get things building with Python 2.2 Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** setup_win32all.py 22 Jan 2004 04:53:37 -0000 1.10 --- setup_win32all.py 26 Jan 2004 04:07:18 -0000 1.11 *************** *** 43,47 **** from distutils.command.install_data import install_data from distutils.dep_util import newer_group - from distutils import log from distutils import dir_util, file_util from distutils.sysconfig import get_python_lib --- 43,46 ---- *************** *** 58,61 **** --- 57,70 ---- True=0==0 False=1==0 + # nor distutils.log + try: + from distutils import log + except ImportError: + class Log: + def debug(self, msg, *args): + print msg % args + def info(self, msg, *args): + print msg % args + log = Log() try: *************** *** 243,246 **** --- 252,263 ---- if self.mingw32: self.libraries.append("stdc++") + # Python 2.2 distutils doesn't handle the 'PC'/PCBuild directory for + # us (it only exists if building from the source tree) + extra = os.path.join(sys.exec_prefix, 'PC') + if extra not in self.include_dirs and os.path.isdir(extra): + self.include_dirs.append(extra) + extra = os.path.join(sys.exec_prefix, 'PCBuild') + if extra not in self.library_dirs and os.path.isdir(extra): + self.library_dirs.append(os.path.join(extra)) def _why_cant_build_extension(self, ext): *************** *** 385,388 **** --- 402,407 ---- ext_filename = os.path.join(self.build_lib, self.get_ext_filename(fullname)) + if not hasattr(ext, "depends"): + ext.depends = [] # 2.2 doesn't have this depends = sources + ext.depends if not (self.force or newer_group(depends, ext_filename, 'newer')): *************** *** 416,427 **** for undef in ext.undef_macros: macros.append((undef,)) ! ! objects = self.compiler.compile(sources, ! output_dir=self.build_temp, ! macros=macros, ! include_dirs=ext.include_dirs, ! debug=self.debug, ! extra_postargs=extra_args, ! depends=ext.depends) # XXX -- this is a Vile HACK! --- 435,448 ---- for undef in ext.undef_macros: macros.append((undef,)) ! # 2.2 has no 'depends' param. ! kw = {'output_dir': self.build_temp, ! 'macros': macros, ! 'include_dirs': ext.include_dirs, ! 'debug': self.debug, ! 'extra_postargs': extra_args ! } ! if sys.version_info > (2,3): ! kw["depends"] = ext.depends ! objects = self.compiler.compile(sources, **kw) # XXX -- this is a Vile HACK! *************** *** 443,459 **** extra_args = ext.extra_link_args or [] ! # Detect target language, if not provided ! language = ext.language or self.compiler.detect_language(sources) self.compiler.link( "executable", ! objects, ext_filename, ! libraries=self.get_libraries(ext), ! library_dirs=ext.library_dirs, ! runtime_library_dirs=ext.runtime_library_dirs, ! extra_postargs=extra_args, ! debug=self.debug, ! build_temp=self.build_temp, ! target_lang=language) def build_extension(self, ext): --- 464,483 ---- extra_args = ext.extra_link_args or [] ! # 2.2 has no 'language' support ! kw = { 'libraries': self.get_libraries(ext), ! 'library_dirs': ext.library_dirs, ! 'runtime_library_dirs': ext.runtime_library_dirs, ! 'extra_postargs': extra_args, ! 'debug': self.debug, ! 'build_temp': self.build_temp, ! } ! if sys.version_info > (2,3): ! # Detect target language, if not provided ! language = ext.language or self.compiler.detect_language(sources) ! kw["target_lang"] = language self.compiler.link( "executable", ! objects, ext_filename, **kw) def build_extension(self, ext): *************** *** 475,478 **** --- 499,504 ---- ext.extra_compile_args = ext.extra_compile_args or [] ext.extra_compile_args.append("/YX"+ext.pch_header) + pch_name = os.path.join(self.build_temp, ext.name) + ".pch" + ext.extra_compile_args.append("/Fp"+pch_name) # some source files are compiled for different extensions *************** *** 480,487 **** # directory for objects, we must use a special one for each extension. old_build_temp = self.build_temp self.swig_cpp = True try: build_ext.build_extension(self, ext) - # XXX This has to be changed for mingw32 extra = self.debug and "_d.lib" or ".lib" --- 506,515 ---- # directory for objects, we must use a special one for each extension. old_build_temp = self.build_temp + if sys.version_info < (2,3): + # 2.3+ - Wrong dir, numbered name + self.build_temp = os.path.join(self.build_temp, ext.name) self.swig_cpp = True try: build_ext.build_extension(self, ext) # XXX This has to be changed for mingw32 extra = self.debug and "_d.lib" or ".lib" *************** *** 493,506 **** else: name1 = name2 = ext.name + extra ! # MSVCCompiler constructs the .lib file in the same directory ! # as the first source file's object file: # os.path.dirname(objects[0]) ! # but we want it in the (old) build_temp directory ! src = os.path.join(self.build_temp, os.path.dirname(ext.sources[0]), name1) dst = os.path.join(old_build_temp, name2) ! self.copy_file(src, dst)#, update=1) ! finally: self.build_temp = old_build_temp --- 521,541 ---- else: name1 = name2 = ext.name + extra ! # The compiler always creates 'pywintypes22.lib', whereas we ! # actually want 'pywintypes.lib' - copy it over. ! # Worse: 2.3+ MSVCCompiler constructs the .lib file in the same ! # directory as the first source file's object file: # os.path.dirname(objects[0]) ! # rather than in the self.build_temp directory ! if sys.version_info > (2,3): ! # 2.3+ - Wrong dir, numbered name ! src = os.path.join(old_build_temp, os.path.dirname(ext.sources[0]), name1) + else: + # 2.2 it is in the right dir, just with the 'numbered' named. + src = os.path.join(self.build_temp, name1) dst = os.path.join(old_build_temp, name2) ! if os.path.abspath(src) != os.path.abspath(dst): ! self.copy_file(src, dst)#, update=1) finally: self.build_temp = old_build_temp *************** *** 831,838 **** print "Standard usage information follows:" dist = setup(name="pywin32", ! version="version", description="Python for Window Extensions", ! long_description="", author="Mark Hammond (et al)", author_email = "mha...@us...", --- 866,915 ---- print "Standard usage information follows:" + packages=['win32com', + 'win32com.client', + 'win32com.demos', + 'win32com.makegw', + 'win32com.server', + 'win32com.servers', + 'win32com.test', + + 'win32comext.axscript', + 'win32comext.axscript.client', + 'win32comext.axscript.server', + + 'win32comext.axdebug', + + 'win32comext.shell', + 'win32comext.mapi', + 'win32comext.internet', + 'win32comext.axcontrol', + + 'Pythonwin.pywin', + 'Pythonwin.pywin.debugger', + 'Pythonwin.pywin.dialogs', + 'Pythonwin.pywin.docking', + 'Pythonwin.pywin.framework', + 'Pythonwin.pywin.framework.editor', + 'Pythonwin.pywin.framework.editor.color', + 'Pythonwin.pywin.idle', + 'Pythonwin.pywin.mfc', + 'Pythonwin.pywin.scintilla', + 'Pythonwin.pywin.tools', + ] + + # Python 2.2 distutils can't handle py_modules *and* packages, + # but putting 'win32.lib' as a package whinges there is no __init__ + if sys.version_info < (2,3): + packages.append('win32.lib') + py_modules = None + else: + py_modules = expand_modules("win32\\lib") + dist = setup(name="pywin32", ! version="200", description="Python for Window Extensions", ! long_description="Includes access to much of the Win32 API, the " ! "ability to create and use COM objects, and the " ! "Pythonwin environment", author="Mark Hammond (et al)", author_email = "mha...@us...", *************** *** 852,888 **** "win32comext": "com/win32comext", "Pythonwin": "Pythonwin"}, ! packages=['win32com', ! 'win32com.client', ! 'win32com.demos', ! 'win32com.makegw', ! 'win32com.server', ! 'win32com.servers', ! 'win32com.test', ! ! 'win32comext.axscript', ! 'win32comext.axscript.client', ! 'win32comext.axscript.server', ! ! 'win32comext.axdebug', ! ! 'win32comext.shell', ! 'win32comext.mapi', ! 'win32comext.internet', ! 'win32comext.axcontrol', ! ! 'Pythonwin.pywin', ! 'Pythonwin.pywin.debugger', ! 'Pythonwin.pywin.dialogs', ! 'Pythonwin.pywin.docking', ! 'Pythonwin.pywin.framework', ! 'Pythonwin.pywin.framework.editor', ! 'Pythonwin.pywin.framework.editor.color', ! 'Pythonwin.pywin.idle', ! 'Pythonwin.pywin.mfc', ! 'Pythonwin.pywin.scintilla', ! 'Pythonwin.pywin.tools', ! ], ! ! py_modules = expand_modules("win32\\lib"), data_files=convert_optional_data_files([ --- 929,934 ---- "win32comext": "com/win32comext", "Pythonwin": "Pythonwin"}, ! packages = packages, ! py_modules = py_modules, data_files=convert_optional_data_files([ |
From: <mha...@pr...> - 2004-01-26 03:58:36
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29386 Modified Files: shellcon.py Log Message: New CSIDL values Index: shellcon.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/shellcon.py,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** shellcon.py 24 Nov 2003 09:26:38 -0000 1.7 --- shellcon.py 26 Jan 2004 03:57:49 -0000 1.8 *************** *** 249,252 **** --- 249,255 ---- CSIDL_BITBUCKET = 10 CSIDL_STARTMENU = 11 + CSIDL_MYDOCUMENTS = 12 + CSIDL_MYMUSIC = 13 + CSIDL_MYVIDEO = 14 CSIDL_DESKTOPDIRECTORY = 16 CSIDL_DRIVES = 17 *************** *** 256,264 **** CSIDL_TEMPLATES = 21 CSIDL_COMMON_STARTMENU = 22 ! CSIDL_COMMON_PROGRAMS = 0X0017 CSIDL_COMMON_STARTUP = 24 CSIDL_COMMON_DESKTOPDIRECTORY = 25 CSIDL_APPDATA = 26 CSIDL_PRINTHOOD = 27 CSIDL_ALTSTARTUP = 29 CSIDL_COMMON_ALTSTARTUP = 30 --- 259,268 ---- CSIDL_TEMPLATES = 21 CSIDL_COMMON_STARTMENU = 22 ! CSIDL_COMMON_PROGRAMS = 23 CSIDL_COMMON_STARTUP = 24 CSIDL_COMMON_DESKTOPDIRECTORY = 25 CSIDL_APPDATA = 26 CSIDL_PRINTHOOD = 27 + CSIDL_LOCAL_APPDATA = 28 CSIDL_ALTSTARTUP = 29 CSIDL_COMMON_ALTSTARTUP = 30 *************** *** 267,270 **** --- 271,299 ---- CSIDL_COOKIES = 33 CSIDL_HISTORY = 34 + CSIDL_COMMON_APPDATA = 35 + CSIDL_WINDOWS = 36 + CSIDL_SYSTEM = 37 + CSIDL_PROGRAM_FILES = 38 + CSIDL_MYPICTURES = 39 + CSIDL_PROFILE = 40 + CSIDL_SYSTEMX86 = 41 + CSIDL_PROGRAM_FILESX86 = 42 + CSIDL_PROGRAM_FILES_COMMON = 43 + CSIDL_PROGRAM_FILES_COMMONX86 = 44 + CSIDL_COMMON_TEMPLATES = 45 + CSIDL_COMMON_DOCUMENTS = 46 + CSIDL_COMMON_ADMINTOOLS = 47 + CSIDL_ADMINTOOLS = 48 + CSIDL_CONNECTIONS = 49 + CSIDL_COMMON_MUSIC = 53 + CSIDL_COMMON_PICTURES = 54 + CSIDL_COMMON_VIDEO = 55 + CSIDL_RESOURCES = 56 + CSIDL_RESOURCES_LOCALIZED = 57 + CSIDL_COMMON_OEM_LINKS = 58 + CSIDL_CDBURN_AREA = 59 + # 60 unused + CSIDL_COMPUTERSNEARME = 61 + BIF_RETURNONLYFSDIRS = 1 BIF_DONTGOBELOWDOMAIN = 2 |
From: <mha...@pr...> - 2004-01-26 03:58:08
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/shell/src In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv29326/src Modified Files: shell.cpp Log Message: Autoduck correction. Index: shell.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/shell/src/shell.cpp,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** shell.cpp 20 Jan 2004 22:14:05 -0000 1.14 --- shell.cpp 26 Jan 2004 03:57:20 -0000 1.15 *************** *** 928,932 **** } ! // @pymethod <o PyIUnknown>|SHGetInstanceExplorer|Allows components that run in a Web browser (Iexplore.exe) or a nondefault Windows® Explorer (Explorer.exe) process to hold a reference to the process. The components can use the reference to prevent the process from closing prematurely. static PyObject *PySHGetInstanceExplorer(PyObject *self, PyObject *args) { --- 928,932 ---- } ! // @pymethod <o PyIUnknown>|shell|SHGetInstanceExplorer|Allows components that run in a Web browser (Iexplore.exe) or a nondefault Windows Explorer (Explorer.exe) process to hold a reference to the process. The components can use the reference to prevent the process from closing prematurely. static PyObject *PySHGetInstanceExplorer(PyObject *self, PyObject *args) { |
From: <mha...@us...> - 2004-01-22 04:53:40
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv8930 Modified Files: setup_win32all.py Log Message: Attempt to make things work with VC7 and the Exchange SDK (where all the library names change, and where the SDK doesn't register in LIB or INCLUDE. Also add some .py files that were missing from the install. Index: setup_win32all.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/setup_win32all.py,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** setup_win32all.py 20 Jan 2004 03:01:33 -0000 1.9 --- setup_win32all.py 22 Jan 2004 04:53:37 -0000 1.10 *************** *** 50,53 **** --- 50,54 ---- import os, string, sys import re + import _winreg # Python 2.2 has no True/False *************** *** 184,191 **** return "win32comext/" + self.name ! # 'win32com.mapi.exchange' and 'win32com.mapi.exchdapi' currently only ! # ones with this special requirement class WinExt_win32com_mapi(WinExt_win32com): def get_pywin32_dir(self): return "win32comext/mapi" --- 185,227 ---- return "win32comext/" + self.name ! # Exchange extensions get special treatment: ! # * Look for the Exchange SDK in the registry. ! # * Output directory is different than the module's basename. class WinExt_win32com_mapi(WinExt_win32com): + def __init__ (self, name, **kw): + # The Exchange 2000 SDK seems to install itself without updating + # LIB or INCLUDE environment variables. It does register the core + # directory in the registry tho - look it up + sdk_install_dir = None + libs = kw.get("libraries", "") + keyname = "SOFTWARE\Microsoft\Exchange\SDK" + for root in _winreg.HKEY_LOCAL_MACHINE, _winreg.HKEY_CURRENT_USER: + try: + keyob = _winreg.OpenKey(root, keyname) + value, type_id = _winreg.QueryValueEx(keyob, "INSTALLDIR") + if type_id == _winreg.REG_SZ: + sdk_install_dir = value + break + except WindowsError: + pass + if sdk_install_dir is not None: + d = os.path.join(sdk_install_dir, "SDK", "Include") + if os.path.isdir(d): + kw.setdefault("include_dirs", []).insert(0, d) + d = os.path.join(sdk_install_dir, "SDK", "Lib") + if os.path.isdir(d): + kw.setdefault("library_dirs", []).insert(0, d) + # The stand-alone exchange SDK has these libs + libs += " Ex2KSdk sadapi mapi32 netapi32" + else: + # The MSVC6 included exchange SDK has these libs + libs += """ MBLOGON ADDRLKUP mapi32 exchinst + EDKCFG EDKUTILS EDKMAPI ACLCLS""" + kw["libraries"] = libs + WinExt_win32com.__init__(self, name, **kw) + def get_pywin32_dir(self): + # 'win32com.mapi.exchange' and 'win32com.mapi.exchdapi' currently only + # ones with this special requirement return "win32comext/mapi" *************** *** 679,687 **** WinExt_win32com('mapi', libraries="mapi32", pch_header="PythonCOM.h"), WinExt_win32com_mapi('exchange', ! libraries="""MBLOGON ADDRLKUP mapi32 exchinst ! EDKCFG EDKUTILS EDKMAPI ! ACLCLS version""", extra_link_args=["/nodefaultlib:libc"]), WinExt_win32com_mapi('exchdapi', libraries="""DAPI ADDRLKUP exchinst EDKCFG EDKUTILS EDKMAPI mapi32 version""", --- 715,722 ---- WinExt_win32com('mapi', libraries="mapi32", pch_header="PythonCOM.h"), WinExt_win32com_mapi('exchange', ! libraries="""version""", extra_link_args=["/nodefaultlib:libc"]), WinExt_win32com_mapi('exchdapi', + # This still needs work for vs.net. libraries="""DAPI ADDRLKUP exchinst EDKCFG EDKUTILS EDKMAPI mapi32 version""", *************** *** 858,861 **** --- 893,899 ---- 'pythonwin/license.txt', 'win32/license.txt', + 'win32/scripts/*.py', + 'win32/scripts/VersionStamp/*.py', + 'win32/test/*.py', 'com/win32com/readme.htm', # win32com test utility files. *************** *** 869,872 **** --- 907,911 ---- 'com/win32com/HTML/image/*', # Active Scripting test and demos. + 'com/win32comext/axscript/test/*.py', 'com/win32comext/axscript/test/*.vbs', 'com/win32comext/axscript/test/*.pys', |
From: <mha...@us...> - 2004-01-22 04:52:00
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/mapi/src In directory sc8-pr-cvs1:/tmp/cvs-serv8769 Modified Files: exchange.i exchangeguids.cpp exchdapi.i Log Message: Various changes to support the stand-alone Exchange SDK. Some functions appear to be missing from this version of the SDK compared to the version included with MSVC6. Index: exchange.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/src/exchange.i,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** exchange.i 1 Sep 1999 23:17:16 -0000 1.1 --- exchange.i 22 Jan 2004 04:51:57 -0000 1.2 *************** *** 33,39 **** #include "EDKUTILS.H" ! #include "ADDRLKUP.H" ! #include "MBLOGON.H" %} --- 33,49 ---- #include "EDKUTILS.H" ! // What is the correct story here?? The Exchange SDK story sucks - it seems ! // certain functions in the stand-alone version are simply commented out. ! #if defined(EXCHANGE_RE) ! # define DONT_HAVE_MBLOGON ! # define DONT_HAVE_ADDRLKUP ! #endif + #if !defined(DONT_HAVE_ADDRLKUP) + # include "ADDRLKUP.H" + #endif + #if !defined(DONT_HAVE_MBLOGON) + # include "MBLOGON.H" + #endif %} *************** *** 354,357 **** --- 364,370 ---- static PyObject *PyHrFindExchangeGlobalAddressList(PyObject *self, PyObject *args) { + #ifdef DONT_HAVE_ADDRLKUP + return PyErr_Format(PyExc_NotImplementedError, "Not available with this version of the Exchange SDK"); + #else PyObject *obAddrBook; // @pyparm <o PyIAddrBook>|addrBook||The interface containing the address book *************** *** 372,381 **** MAPIFreeBuffer(peid); return rc; } %} // @pyswig <o PyIMsgStore>|HrMailboxLogon|Logs on a server and mailbox. ! HRESULT HrMailboxLogon( IMAPISession *INPUT, // @pyparm <o PyIMAPISession>|session||The session object IMsgStore *INPUT, // @pyparm <o PyIMsgStore>|msgStore|| --- 385,411 ---- MAPIFreeBuffer(peid); return rc; + #endif } %} + %{ + HRESULT MyHrMailboxLogon( + IN LPMAPISESSION lplhSession, // ptr to MAPI session handle + IN LPMDB lpMDB, // ptr to message store + IN LPSTR lpszMsgStoreDN, // ptr to message store DN + IN LPSTR lpszMailboxDN, // ptr to mailbox DN + OUT LPMDB *lppMailboxMDB) // ptr to mailbox message store ptr + { + #if defined(DONT_HAVE_MBLOGON) + PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); + return E_NOTIMPL; + #else + return HrMailboxLogon(lplhSession, lpMDB, lpszMsgStoreDN, lpszMailboxDN, lppMailboxMDB); + #endif + } + %} // @pyswig <o PyIMsgStore>|HrMailboxLogon|Logs on a server and mailbox. ! %name(HrMailboxLogon) HRESULT MyHrMailboxLogon( IMAPISession *INPUT, // @pyparm <o PyIMAPISession>|session||The session object IMsgStore *INPUT, // @pyparm <o PyIMsgStore>|msgStore|| *************** *** 385,390 **** ); // @pyswig |HrMailboxLogoff|Logs off a server and mailbox. ! HRESULT HrMailboxLogoff( IMsgStore **INPUT // @pyparm <o PyIMsgStore>|inbox||The open inbox. ); --- 415,432 ---- ); + %{ + HRESULT MyHrMailboxLogoff(IMsgStore **pp) + { + #if defined(DONT_HAVE_MBLOGON) + PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); + return E_NOTIMPL; + #else + return HrMailboxLogoff(pp); + #endif + } + %} + // @pyswig |HrMailboxLogoff|Logs off a server and mailbox. ! %name(HrMailboxLogoff) HRESULT MyHrMailboxLogoff( IMsgStore **INPUT // @pyparm <o PyIMsgStore>|inbox||The open inbox. ); Index: exchangeguids.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/src/exchangeguids.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** exchangeguids.cpp 1 Sep 1999 23:17:16 -0000 1.1 --- exchangeguids.cpp 22 Jan 2004 04:51:57 -0000 1.2 *************** *** 19,22 **** #include "windows.h" #include "mapiguid.h" - #include "ACLSID.H" #include "edkguid.h" --- 19,21 ---- Index: exchdapi.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/src/exchdapi.i,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** exchdapi.i 1 Sep 1999 23:17:16 -0000 1.1 --- exchdapi.i 22 Jan 2004 04:51:57 -0000 1.2 *************** *** 23,35 **** #include "EDKCFG.H" #include "EXCHINST.H" %} %{ ! %} ! ! // @pyswig |HrInstallService| ! HRESULT HrInstallService( TCHAR *INPUT, // lpszServer TCHAR *INPUT, // lpszSiteDN --- 23,64 ---- #include "EDKCFG.H" #include "EXCHINST.H" + #include "EDKUTILS.H" + // see exchange.i - the stand-alone exchange SDK seems to be + // missing lots of functions + #if defined(EXCHANGE_RE) + # define DAPI_FUNCTIONS_MISSING + #endif + %} + // @pyswig |HrInstallService| %{ ! HRESULT MyHrInstallService( ! TCHAR *lpszServer, ! TCHAR *lpszSiteDN, ! TCHAR *pszServiceDisplayName, ! TCHAR *lpszServiceName, ! TCHAR *lpszCommonName, ! TCHAR *lpszObjectGuid, ! TCHAR *lpszProductGuid, ! TCHAR *lpszExeName, ! TCHAR *lpszDependencies, ! TCHAR *lpszAccount, ! TCHAR *lpszPassword ! ) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrInstallService(lpszServer, lpszSiteDN, pszServiceDisplayName, ! lpszServiceName, lpszCommonName, lpszObjectGuid, ! lpszProductGuid, lpszExeName, lpszDependencies, ! lpszAccount, lpszPassword); ! #endif ! } %} ! %name(HrInstallService) HRESULT MyHrInstallService( TCHAR *INPUT, // lpszServer TCHAR *INPUT, // lpszSiteDN *************** *** 45,50 **** ); // @pyswig |HrInstallMailboxAgent| ! HRESULT HrInstallMailboxAgent( TCHAR *INPUT, // Server TCHAR *INPUT, // SiteDN --- 74,100 ---- ); + // @pyswig |HrInstallMailboxAgent| ! %{ ! HRESULT MyHrInstallMailboxAgent( ! TCHAR *Server, ! TCHAR *SiteDN, ! TCHAR *DisplayName, ! TCHAR *RDN, ! TCHAR *lpszExtensionName, ! TCHAR *lpszExtensionData, ! TCHAR *lpszAccountName) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrInstallMailboxAgent(Server, SiteDN, DisplayName, RDN, ! lpszExtensionName, lpszExtensionData, ! lpszAccountName); ! #endif ! } ! %} ! %name(HrInstallMailboxAgent) HRESULT MyHrInstallMailboxAgent( TCHAR *INPUT, // Server TCHAR *INPUT, // SiteDN *************** *** 68,73 **** ); // @pyswig |HrMailboxAgentExists| ! HRESULT HrMailboxAgentExists( TCHAR *INPUT, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Contains the distinguished name (DN) of the site. --- 118,139 ---- ); + // @pyswig |HrMailboxAgentExists| ! %{ ! HRESULT MyHrMailboxAgentExists( ! TCHAR *server, ! TCHAR *siteDN, ! TCHAR *rdn) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrMailboxAgentExists(server, siteDN, rdn); ! #endif ! } ! %} ! ! %name(HrMailboxAgentExists) HRESULT MyHrMailboxAgentExists( TCHAR *INPUT, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Contains the distinguished name (DN) of the site. *************** *** 75,83 **** ); // @pyswig |HrAdminProgramExists| HRESULT HrAdminProgramExists(); // @pyswig |HrRemoveMailboxAgent|Removes a Mailbox Agent ! HRESULT HrRemoveMailboxAgent( TCHAR *INPUT, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Contains the distinguished name (DN) of the site. --- 141,165 ---- ); + // @pyswig |HrAdminProgramExists| HRESULT HrAdminProgramExists(); // @pyswig |HrRemoveMailboxAgent|Removes a Mailbox Agent ! %{ ! HRESULT MyHrRemoveMailboxAgent( ! TCHAR *server, ! TCHAR *siteDN, ! TCHAR *rdn) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrRemoveMailboxAgent(server, siteDN, rdn); ! #endif ! } ! %} ! ! %name(HrRemoveMailboxAgent) HRESULT MyHrRemoveMailboxAgent( TCHAR *INPUT, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Contains the distinguished name (DN) of the site. *************** *** 91,95 **** // @pyswig [string, ...]|HrEnumOrganizations|Lists the names of the organizations on the server. ! HRESULT HrEnumOrganizations( TCHAR *INPUT_NULLOK, // @pyparm string|rootDN||Contains the distinguished name (DN) of the directory information tree (DIT) root. TCHAR *INPUT_NULLOK, // @pyparm string|server||The name of the server --- 173,191 ---- // @pyswig [string, ...]|HrEnumOrganizations|Lists the names of the organizations on the server. ! %{ ! HRESULT MyHrEnumOrganizations( ! TCHAR *p1, ! TCHAR *p2, ! TCHAR **out) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrEnumOrganizations(p1, p2, out); ! #endif ! } ! %} ! %name(HrEnumOrganizations) HRESULT MyHrEnumOrganizations( TCHAR *INPUT_NULLOK, // @pyparm string|rootDN||Contains the distinguished name (DN) of the directory information tree (DIT) root. TCHAR *INPUT_NULLOK, // @pyparm string|server||The name of the server *************** *** 98,102 **** // @pyswig [string, ...]|HrEnumSites|Lists the names of the sites in an organization. ! HRESULT HrEnumSites( TCHAR *INPUT_NULLOK, // @pyparm string|server||The name of the server TCHAR *INPUT_NULLOK, // @pyparm string|organizationDN||Contains the distinguished name (DN) of the organization. --- 194,212 ---- // @pyswig [string, ...]|HrEnumSites|Lists the names of the sites in an organization. ! %{ ! HRESULT MyHrEnumSites( ! TCHAR *p1, ! TCHAR *p2, ! TCHAR **out) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrEnumSites(p1, p2, out); ! #endif ! } ! %} ! %name(HrEnumSites) HRESULT MyHrEnumSites( TCHAR *INPUT_NULLOK, // @pyparm string|server||The name of the server TCHAR *INPUT_NULLOK, // @pyparm string|organizationDN||Contains the distinguished name (DN) of the organization. *************** *** 105,109 **** // @pyswig [string, ...]|HrEnumContainers|Lists the names of the containers on the server ! HRESULT HrEnumContainers( TCHAR *INPUT_NULLOK, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Distinguished name (DN) of the site. --- 215,234 ---- // @pyswig [string, ...]|HrEnumContainers|Lists the names of the containers on the server ! %{ ! HRESULT MyHrEnumContainers( ! TCHAR *p1, ! TCHAR *p2, ! BOOL b, ! TCHAR **out) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrEnumContainers(p1, p2, b, out); ! #endif ! } ! %} ! %name(HrEnumContainers) HRESULT MyHrEnumContainers( TCHAR *INPUT_NULLOK, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Distinguished name (DN) of the site. *************** *** 113,117 **** // @pyswig [string, ...]|HrEnumSiteAdmins|Lists the administrators for a site. ! HRESULT HrEnumSiteAdmins( TCHAR *INPUT, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Distinguished name (DN) of the site. --- 238,256 ---- // @pyswig [string, ...]|HrEnumSiteAdmins|Lists the administrators for a site. ! %{ ! HRESULT MyHrEnumSiteAdmins( ! TCHAR *p1, ! TCHAR *p2, ! TCHAR **out) ! { ! #if defined(DAPI_FUNCTIONS_MISSING) ! PyErr_Warn(PyExc_RuntimeWarning, "Not available with this version of the Exchange SDK"); ! return E_NOTIMPL; ! #else ! return HrEnumSiteAdmins(p1, p2, out); ! #endif ! } ! %} ! %name(HrEnumSiteAdmins) HRESULT MyHrEnumSiteAdmins( TCHAR *INPUT, // @pyparm string|server||The name of the server TCHAR *INPUT, // @pyparm string|siteDN||Distinguished name (DN) of the site. |
From: <mha...@us...> - 2004-01-22 04:40:25
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv7097/win32/src Modified Files: PyTime.cpp Log Message: localtime() can return NULL, but we never handled it. Index: PyTime.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PyTime.cpp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** PyTime.cpp 7 Nov 2003 03:58:17 -0000 1.9 --- PyTime.cpp 22 Jan 2004 04:40:22 -0000 1.10 *************** *** 181,185 **** */ time_t time = mktime(&tm); ! tm = *localtime(&time); // tm.tm_wday = st.wDayOfWeek; // tm.tm_yday = st. day of year; --- 181,192 ---- */ time_t time = mktime(&tm); ! /* We need a better way to format, but for now we have to live inside ! the limitations of localtime() ! */ ! struct tm *local = localtime(&time); ! if (local==NULL) ! return PyErr_Format(PyExc_ValueError, "The time value is too early to be formatted"); ! ! tm = *local; // tm.tm_wday = st.wDayOfWeek; // tm.tm_yday = st. day of year; |
From: <mha...@us...> - 2004-01-22 04:39:55
|
Update of /cvsroot/pywin32/pywin32/win32/test In directory sc8-pr-cvs1:/tmp/cvs-serv6950/win32/test Modified Files: test_pywintypes.py Log Message: Add a test that would crash PyTime.Format() Index: test_pywintypes.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/test/test_pywintypes.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** test_pywintypes.py 18 Oct 2003 23:34:07 -0000 1.1 --- test_pywintypes.py 22 Jan 2004 04:39:48 -0000 1.2 *************** *** 11,14 **** --- 11,25 ---- self.assertEquals(pytime_current.Format(format_string), time.strftime(format_string, struct_current)) + def testPyTimePrint(self): + # This used to crash with an invalid, or too early time. + # We don't really want to check that it does cause a ValueError + # (as hopefully this wont be true forever). So either working, or + # ValueError is OK. + t = pywintypes.Time(-2) + try: + t.Format() + except ValueError: + return + if __name__ == '__main__': unittest.main() |
From: <mha...@us...> - 2004-01-20 23:09:20
|
Update of /cvsroot/pywin32/pywin32 In directory sc8-pr-cvs1:/tmp/cvs-serv29584 Modified Files: pywin32_postinstall.py Log Message: Nuke the "Modules" registry keys early win32all versions added. Index: pywin32_postinstall.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/pywin32_postinstall.py,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** pywin32_postinstall.py 3 Dec 2003 09:31:06 -0000 1.6 --- pywin32_postinstall.py 20 Jan 2004 23:09:17 -0000 1.7 *************** *** 106,109 **** --- 106,123 ---- pthfile.write(path + "\n") sys.path.append(path) + # It is possible people with old versions installed with still have + # pywintypes and pythoncom registered. We no longer need this, and stale + # entries hurt us. + for name in "pythoncom pywintypes".split(): + keyname = "Software\\Python\\PythonCore\\" + sys.winver + "\\Modules\\" + name + for root in _winreg.HKEY_LOCAL_MACHINE, _winreg.HKEY_CURRENT_USER: + try: + _winreg.DeleteKey(root, keyname + "\\Debug") + except WindowsError: + pass + try: + _winreg.DeleteKey(root, keyname) + except WindowsError: + pass # To be able to import win32api, PyWinTypesxx.dll must be on the PATH # We must be careful to use the one we just installed, not one already |
From: <mha...@us...> - 2004-01-20 22:58:27
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory sc8-pr-cvs1:/tmp/cvs-serv27200/com/win32com/client Modified Files: gencache.py Log Message: Make the "read-only" comments and code more understandable. Index: gencache.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/gencache.py,v retrieving revision 1.26 retrieving revision 1.27 diff -C2 -d -r1.26 -r1.27 *** gencache.py 20 Jan 2004 08:31:14 -0000 1.26 --- gencache.py 20 Jan 2004 22:58:24 -0000 1.27 *************** *** 27,30 **** --- 27,31 ---- import traceback import CLSIDToClass + import operator bForDemandDefault = 0 # Default value of bForDemand - toggle this to change the world - see also makepy.py *************** *** 38,45 **** # There is no reason we *must* be readonly in a .zip, but we are now, ! # and we really do need a "read-only" concept anyway. ! # 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 --- 39,47 ---- # There is no reason we *must* be readonly in a .zip, but we are now, ! # Rather than check for ".zip" or other tricks, PEP302 defines ! # a "__loader__" attribute, so we use that. ! # (Later, it may become necessary to check if the __loader__ can update files, ! # as a .zip loader potentially could - but punt all that until a need arises) ! is_readonly = hasattr(win32com, "__loader__") # A dictionary of ITypeLibrary objects for demand generation explicitly handed to us *************** *** 48,52 **** def __init__(): ! # Initialize the module. Called once automatically try: _LoadDicts() --- 50,54 ---- def __init__(): ! # Initialize the module. Called once explicitly at module import below. try: _LoadDicts() |
From: <mha...@us...> - 2004-01-20 22:57:56
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv27031/win32/src Modified Files: win32apimodule.cpp Log Message: Remove unused #define Index: win32apimodule.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32apimodule.cpp,v retrieving revision 1.33 retrieving revision 1.34 diff -C2 -d -r1.33 -r1.34 *** win32apimodule.cpp 1 Dec 2003 08:23:02 -0000 1.33 --- win32apimodule.cpp 20 Jan 2004 22:57:53 -0000 1.34 *************** *** 23,28 **** #include "security.h" // for GetUserNameEx - #define DllExport _declspec(dllexport) - // Identical to PyW32_BEGIN_ALLOW_THREADS except no script "{" !!! // means variables can be declared between the blocks --- 23,26 ---- |
From: <mha...@us...> - 2004-01-20 22:48:21
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory sc8-pr-cvs1:/tmp/cvs-serv24935 Modified Files: odbc.cpp Log Message: Fix a couple of NULL pointer crashes left in odbc. Index: odbc.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/odbc.cpp,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** odbc.cpp 18 Oct 2003 06:07:16 -0000 1.8 --- odbc.cpp 20 Jan 2004 22:48:17 -0000 1.9 *************** *** 1245,1248 **** --- 1245,1249 ---- { Py_DECREF(cur->description); + cur->description = NULL; OutOfMemory(); return NULL; *************** *** 1598,1601 **** --- 1599,1606 ---- if (!strcmp(name, "description")) { + if (!cursor(self)->description) { + Py_INCREF(Py_None); + return Py_None; + } Py_INCREF(cursor(self)->description); return cursor(self)->description; |
Update of /cvsroot/pywin32/pywin32/Pythonwin In directory sc8-pr-cvs1:/tmp/cvs-serv20022 Modified Files: Win32app.h stddde.cpp win32app.cpp win32control.cpp win32prop.cpp win32thread.cpp win32uiExt.h Log Message: Various changes to get us (mostly) working with VS.NET. Index: Win32app.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/Win32app.h,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Win32app.h 11 May 2000 13:12:32 -0000 1.2 --- Win32app.h 20 Jan 2004 22:28:50 -0000 1.3 *************** *** 26,30 **** static ui_type_CObject type; MAKE_PY_CTOR(PyCWinApp) ! static void cleanup(); }; --- 26,30 ---- static ui_type_CObject type; MAKE_PY_CTOR(PyCWinApp) ! virtual void cleanup(); }; *************** *** 53,58 **** --- 53,61 ---- void SetMainFrame (CWnd *pWnd) {m_pMainWnd = pWnd;} CDocument *FindOpenDocument (const char *lpszFileName); + // warning C4996: 'xxx' was declared deprecated + #pragma warning( disable : 4996 ) BOOL Enable3dControls() {return CWinApp::Enable3dControls();} void SetDialogBkColor(COLORREF clrCtlBk, COLORREF clrCtlText) { CWinApp::SetDialogBkColor(clrCtlBk, clrCtlText);} + #pragma warning( default : 4996 ) BOOL HaveLoadStdProfileSettings() {return m_pRecentFileList!=NULL;} void LoadStdProfileSettings(UINT max) {CWinApp::LoadStdProfileSettings(max);} Index: stddde.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/stddde.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** stddde.cpp 10 Nov 2003 04:39:44 -0000 1.1 --- stddde.cpp 20 Jan 2004 22:28:52 -0000 1.2 *************** *** 954,958 **** // Gaah - it took me two days to realize that I need "offset" here // ! __declspec ( naked ) _template() { __asm { pop eax // save the return addr --- 954,958 ---- // Gaah - it took me two days to realize that I need "offset" here // ! __declspec ( naked ) void _template() { __asm { pop eax // save the return addr Index: win32app.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32app.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** win32app.cpp 16 Oct 2000 05:46:52 -0000 1.3 --- win32app.cpp 20 Jan 2004 22:28:53 -0000 1.4 *************** *** 406,409 **** --- 406,410 ---- void PyCWinApp::cleanup() { + PyCWinThread::cleanup(); // total hack! while (pExistingAppObject) Index: win32control.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32control.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** win32control.cpp 5 Sep 2001 23:56:10 -0000 1.3 --- win32control.cpp 20 Jan 2004 22:28:55 -0000 1.4 *************** *** 1906,1912 **** --- 1906,1919 ---- if (!pSC) return NULL; + #if _MFC_VER >= 0x0710 + // This just vanished in VS7 + PyErr_SetString(PyExc_NotImplementedError, + "VerifyPos does not appear in this version of MFC"); + return NULL; + #else GUI_BGN_SAVE; pSC->VerifyPos(); GUI_END_SAVE; + #endif RETURN_NONE; } Index: win32prop.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32prop.cpp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** win32prop.cpp 1 Sep 1999 23:33:02 -0000 1.1 --- win32prop.cpp 20 Jan 2004 22:28:57 -0000 1.2 *************** *** 445,449 **** return NULL; GUI_BGN_SAVE; ! BOOL ok = pPS->PressButton(button); GUI_END_SAVE; if (!ok) --- 445,454 ---- return NULL; GUI_BGN_SAVE; ! BOOL ok = TRUE; ! #if _MFC_VER < 0x0710 ! ok = ! #endif ! pPS->PressButton(button); ! GUI_END_SAVE; if (!ok) Index: win32thread.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32thread.cpp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** win32thread.cpp 11 May 2000 13:12:33 -0000 1.4 --- win32thread.cpp 20 Jan 2004 22:28:58 -0000 1.5 *************** *** 97,100 **** --- 97,106 ---- BOOL bIdle = TRUE; LONG lIdleCount = 0; + #if _MFC_VER >= 0x0710 + _AFX_THREAD_STATE* pState = AfxGetThreadState(); + MSG &msgCur = pState->m_msgCur; + #else + MSG &msgCur = m_msgCur; + #endif /* _MFC_VER_ */ // acquire and dispatch messages until a WM_QUIT message is received. *************** *** 103,107 **** // phase1: check to see if we can do idle work while (bIdle && ! !::PeekMessage(&m_msgCur, NULL, NULL, NULL, PM_NOREMOVE)) { // call OnIdle while in bIdle state --- 109,113 ---- // phase1: check to see if we can do idle work while (bIdle && ! !::PeekMessage(&msgCur, NULL, NULL, NULL, PM_NOREMOVE)) { // call OnIdle while in bIdle state *************** *** 114,118 **** // pump message, but quit on WM_QUIT if (!PumpMessage()) { ! #ifdef _DEBUG m_nDisablePumpCount--; // application must NOT die #endif --- 120,124 ---- // pump message, but quit on WM_QUIT if (!PumpMessage()) { ! #if defined(_DEBUG) && _MFC_VER < 0x0710 m_nDisablePumpCount--; // application must NOT die #endif *************** *** 121,125 **** // reset "no idle" state after pumping "normal" message ! if (IsIdleMessage(&m_msgCur)) { bIdle = TRUE; --- 127,131 ---- // reset "no idle" state after pumping "normal" message ! if (IsIdleMessage(&msgCur)) { bIdle = TRUE; *************** *** 127,131 **** } ! } while (::PeekMessage(&m_msgCur, NULL, NULL, NULL, PM_NOREMOVE)); } --- 133,137 ---- } ! } while (::PeekMessage(&msgCur, NULL, NULL, NULL, PM_NOREMOVE)); } *************** *** 144,162 **** } return bHaveQuit; - /**************88 - while(::PeekMessage(&m_msgCur, NULL, NULL, NULL, PM_NOREMOVE)) - if (!PumpMessage()) { - // if got a close message, must send it back down. - #ifdef _DEBUG - m_nDisablePumpCount--; // hack! - #endif - PostQuitMessage(0); - return; - } - // let MFC do its idle processing - LONG lIdle = 0; - while ( AfxGetApp()->OnIdle(lIdle++ ) ) - ; - ********/ } unsigned int ThreadWorkerEntryPoint( LPVOID lpvoid ) --- 150,153 ---- Index: win32uiExt.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32uiExt.h,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** win32uiExt.h 16 Oct 2000 05:46:52 -0000 1.3 --- win32uiExt.h 20 Jan 2004 22:28:58 -0000 1.4 *************** *** 293,297 **** return T::OnNcHitTest(pt); } ! afx_msg UINT OnSetCursor(CWnd *pWnd, UINT ht, UINT msg) { // @pyvirtual int|PyCWnd|OnSetCursor|Called for the WM_SETCURSOR message. // @xref <om PyCWnd.OnSetCursor> --- 293,297 ---- return T::OnNcHitTest(pt); } ! afx_msg BOOL OnSetCursor(CWnd *pWnd, UINT ht, UINT msg) { // @pyvirtual int|PyCWnd|OnSetCursor|Called for the WM_SETCURSOR message. // @xref <om PyCWnd.OnSetCursor> *************** *** 359,365 **** protected: \ static AFX_DATA const AFX_MSGMAP messageMap; - static const AFX_MSGMAP* PASCAL _GetBaseMessageMap() { return &T::messageMap; } virtual const AFX_MSGMAP* GetMessageMap() const { --- 359,368 ---- protected: \ static AFX_DATA const AFX_MSGMAP messageMap; static const AFX_MSGMAP* PASCAL _GetBaseMessageMap() { + #if _MFC_VER >= 0x0700 + return T::GetThisMessageMap(); + #else return &T::messageMap; + #endif /* _MFC_VER */ } virtual const AFX_MSGMAP* GetMessageMap() const { *************** *** 947,951 **** --- 950,958 ---- static const AFX_MSGMAP* PASCAL _GetBaseMessageMap() { + #if _MFC_VER >= 0x0700 + return T::GetThisMessageMap(); + #else return &T::messageMap; + #endif } virtual const AFX_MSGMAP* GetMessageMap() const { |
From: <mha...@us...> - 2004-01-20 22:27:19
|
Update of /cvsroot/pywin32/pywin32/Pythonwin In directory sc8-pr-cvs1:/tmp/cvs-serv19782 Modified Files: win32uiole.cpp Log Message: New version of MFC means we can avoid private MFC headers! Index: win32uiole.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32uiole.cpp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** win32uiole.cpp 12 Nov 2003 00:12:31 -0000 1.3 --- win32uiole.cpp 20 Jan 2004 22:27:16 -0000 1.4 *************** *** 13,21 **** --- 13,25 ---- #include "afxdao.h" + #if _MFC_VER >= 0x0700 + #include "afxocc.h" // Sorry about this - OLE support needs MFC private header. // You MUST install MFC with source-code to build this extension. // (and this source must be in "../src" relative to the MFC // includes, which it is by default) + #else #include "..\src\occimpl.h" + #endif /* _MFC_VER */ extern PyObject *PyCOleClientItem_Create(PyObject *self, PyObject *args); |
From: <mha...@us...> - 2004-01-20 22:26:44
|
Update of /cvsroot/pywin32/pywin32/Pythonwin In directory sc8-pr-cvs1:/tmp/cvs-serv19620 Modified Files: win32util.cpp Log Message: Remove a bizarre "cast int to string" in a debug Pythonwin function. Index: win32util.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/win32util.cpp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** win32util.cpp 18 Dec 2002 11:41:49 -0000 1.5 --- win32util.cpp 20 Jan 2004 22:26:41 -0000 1.6 *************** *** 1062,1068 **** CString GetReprText( PyObject *objectUse ) { - // special case for integers first. - if (PyInt_Check(objectUse)) - return (int)PyInt_AsLong(objectUse); PyObject *s; if (PyString_Check(objectUse)) // if it is a string, then no need to repr it --- 1062,1065 ---- |