pywin32-checkins Mailing List for Python for Windows Extensions (Page 15)
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: Mark H. <mha...@us...> - 2009-06-18 10:23:15
|
Update of /cvsroot/pywin32/pywin32/com/win32comext/mapi/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv21294/com/win32comext/mapi/src Modified Files: exchange.i Added Files: PyIExchangeManageStore.i Log Message: Support for IExchangeManageStore from Nick Czeczulin - thanks! Index: exchange.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32comext/mapi/src/exchange.i,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** exchange.i 22 Jan 2004 04:51:57 -0000 1.2 --- exchange.i 18 Jun 2009 10:22:59 -0000 1.3 *************** *** 33,36 **** --- 33,43 ---- #include "EDKUTILS.H" + #define INITGUID + #define USES_IID_IExchangeManageStore + #include <edkguid.h> + + #include "PyIExchangeManageStore.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. *************** *** 47,50 **** --- 54,74 ---- #endif + static int AddIID(PyObject *dict, const char *key, REFGUID guid) + { + PyObject *obiid = PyWinObject_FromIID(guid); + if (!obiid) return 1; + int rc = PyDict_SetItemString(dict, (char*)key, obiid); + Py_DECREF(obiid); + return rc; + } + + + #define ADD_IID(tok) AddIID(d, #tok, tok) + + %} + + %init %{ + if ( PyCom_RegisterClientType(&PyIExchangeManageStore::type, &IID_IExchangeManageStore) != 0 ) return; + ADD_IID(IID_IExchangeManageStore); %} --- NEW FILE: PyIExchangeManageStore.i --- /* File : PyIExchangeManageStore.i */ %module IExchangeManageStore %include "typemaps.i" %include "pywin32.i" %include "pythoncom.i" %include "mapilib.i" %{ #include <edkmdb.h> #define INITGUID #define USES_IID_IExchangeManageStore #include <edkguid.h> %} %typemap(python,ignore) IExchangeManageStore **OUTPUT(IExchangeManageStore *temp) { $target = &temp; } %typemap(python,argout) IExchangeManageStore **OUTPUT { MAKE_OUTPUT_INTERFACE($source, $target, IID_IExchangeManageStore) } %typemap(python,freearg) IExchangeManageStore *INPUT, IExchangeManageStore *INPUT_NULLOK { if ($source) $source->Release(); } %typemap(python,in) IExchangeManageStore *INPUT { if (!PyCom_InterfaceFromPyInstanceOrObject($source, IID_IExchangeManageStore, (void **)&$target, 0)) return NULL; } %typemap(python,in) IExchangeManageStore *INPUT_NULLOK { if (!PyCom_InterfaceFromPyInstanceOrObject($source, IID_IExchangeManageStore, (void **)&$target, 1)) return NULL; } %{ #include "PyIExchangeManageStore.h" PyIExchangeManageStore::PyIExchangeManageStore(IUnknown *pDisp) : PyIUnknown(pDisp) { ob_type = &type; } /*static*/ IExchangeManageStore *PyIExchangeManageStore::GetI(PyObject *self) { return (IExchangeManageStore *)PyIUnknown::GetI(self); } PyIExchangeManageStore::~PyIExchangeManageStore() { } PyObject *PyIExchangeManageStore::CreateStoreEntryID(PyObject *self, PyObject *args) { HRESULT hRes; char *serverDN; char *userDN; unsigned long flags = 0; SBinary sbEID = {0, NULL}; PyObject *result = NULL; IExchangeManageStore *_swig_self; if ((_swig_self=GetI(self))==NULL) return NULL; if (!PyArg_ParseTuple(args, "ss|l:CreateStoreEntryID", &serverDN, &userDN, &flags)) return NULL; Py_BEGIN_ALLOW_THREADS hRes = _swig_self->CreateStoreEntryID(serverDN, userDN, flags, &sbEID.cb, (LPENTRYID *) &sbEID.lpb); Py_END_ALLOW_THREADS if (FAILED(hRes)) { OleSetOleError(hRes); goto error; } result = Py_BuildValue("s#", sbEID.lpb, sbEID.cb); error: MAPIFreeBuffer((LPENTRYID)sbEID.lpb); return result; } %} %native(CreateStoreEntryID) CreateStoreEntryID; |
From: Mark H. <mha...@us...> - 2009-06-12 07:51:24
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28153 Modified Files: CHANGES.txt Log Message: pythoncom gets better support for 64bit integers, including in arrays. Index: CHANGES.txt =================================================================== RCS file: /cvsroot/pywin32/pywin32/CHANGES.txt,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** CHANGES.txt 12 Jun 2009 07:47:53 -0000 1.49 --- CHANGES.txt 12 Jun 2009 07:48:33 -0000 1.50 *************** *** 9,12 **** --- 9,14 ---- ---------------- + * pythoncom gets better support for 64bit integers, including in arrays. + * pythoncom may fail to import on Windows 2000 installs with a default IE (Roger) |
From: Mark H. <mha...@us...> - 2009-06-12 07:50:27
|
Update of /cvsroot/pywin32/pywin32/com/TestSources/PyCOMTest In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28153/com/TestSources/PyCOMTest Modified Files: PyCOMImpl.cpp PyCOMImpl.h PyCOMTest.idl Log Message: pythoncom gets better support for 64bit integers, including in arrays. Index: PyCOMTest.idl =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/TestSources/PyCOMTest/PyCOMTest.idl,v retrieving revision 1.20 retrieving revision 1.21 diff -C2 -d -r1.20 -r1.21 *** PyCOMTest.idl 9 Jan 2009 01:24:54 -0000 1.20 --- PyCOMTest.idl 12 Jun 2009 07:48:33 -0000 1.21 *************** *** 207,210 **** --- 207,212 ---- HRESULT SetBinSafeArray([in] SAFEARRAY(unsigned char) buf, [out, retval]int *resultSize); HRESULT SetIntSafeArray([in] SAFEARRAY(int) ints, [out, retval]int *resultSize); + HRESULT SetLongLongSafeArray([in] SAFEARRAY(long long) ints, [out, retval]int *resultSize); + HRESULT SetULongLongSafeArray([in] SAFEARRAY(unsigned long long) ints, [out, retval]int *resultSize); HRESULT SetVariantSafeArray([in] SAFEARRAY(VARIANT) vars, [out, retval]int *resultSize); HRESULT GetSimpleSafeArray([out] SAFEARRAY(int)* ints); *************** *** 228,231 **** --- 230,240 ---- [optional, defaultvalue(1)] short sval, [out,retval] SAFEARRAY(VARIANT) *pret ); + // Trying (but failing) to find a bug related to SourceSafe's VSSItem's IDL defn. Note + // the lack of 'optional' even though a default is specified (which doesn't seem to + // have any effect, but seeing we are here...) + HRESULT TestOptionals3( + [in]double dval, + [in, defaultvalue(1)] short sval, + [out, retval] IPyCOMTest **ppout ); HRESULT GetStruct([out, retval]TestStruct1 *ret); HRESULT DoubleString([in] BSTR inStr, [out, retval] BSTR *outStr); Index: PyCOMImpl.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/TestSources/PyCOMTest/PyCOMImpl.h,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** PyCOMImpl.h 9 Jan 2009 01:24:54 -0000 1.17 --- PyCOMImpl.h 12 Jun 2009 07:48:33 -0000 1.18 *************** *** 73,76 **** --- 73,78 ---- STDMETHOD(SetBinSafeArray)(SAFEARRAY* buf, int *retSize); STDMETHOD(SetIntSafeArray)(SAFEARRAY* ints, int *retSize); + STDMETHOD(SetLongLongSafeArray)(SAFEARRAY* ints, int *retSize); + STDMETHOD(SetULongLongSafeArray)(SAFEARRAY* ints, int *retSize); STDMETHOD(SetVariantSafeArray)(SAFEARRAY* vars, int *retSize); STDMETHOD(GetSafeArrays)(SAFEARRAY** attrs, *************** *** 92,95 **** --- 94,98 ---- STDMETHOD(TestOptionals)(BSTR strArg, short sarg, long larg, double darg, SAFEARRAY **pRet); STDMETHOD(TestOptionals2)(double dval, BSTR strval, short sval, SAFEARRAY **pRet); + STDMETHOD(TestOptionals3)(double dval, short sval, IPyCOMTest **outinterface2); STDMETHOD(GetStruct)(TestStruct1 *ret); STDMETHOD(DoubleString)(BSTR inStr, BSTR *outStr); Index: PyCOMImpl.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/TestSources/PyCOMTest/PyCOMImpl.cpp,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** PyCOMImpl.cpp 9 Jan 2009 01:24:54 -0000 1.19 --- PyCOMImpl.cpp 12 Jun 2009 07:48:33 -0000 1.20 *************** *** 267,270 **** --- 267,296 ---- } + STDMETHODIMP CPyCOMTest::SetLongLongSafeArray(SAFEARRAY* ints, int *resultSize) + { + UINT cDims = SafeArrayGetDim(ints); + *resultSize = 0; + long ub=0, lb=0; + if (cDims) { + SafeArrayGetUBound(ints, 1, &ub); + SafeArrayGetLBound(ints, 1, &lb); + *resultSize = ub - lb + 1; + } + return S_OK; + } + + STDMETHODIMP CPyCOMTest::SetULongLongSafeArray(SAFEARRAY* ints, int *resultSize) + { + UINT cDims = SafeArrayGetDim(ints); + *resultSize = 0; + long ub=0, lb=0; + if (cDims) { + SafeArrayGetUBound(ints, 1, &ub); + SafeArrayGetLBound(ints, 1, &lb); + *resultSize = ub - lb + 1; + } + return S_OK; + } + STDMETHODIMP CPyCOMTest::SetVariantSafeArray(SAFEARRAY* vars, int *resultSize) { *************** *** 288,292 **** SAFEARRAY *psa; SAFEARRAYBOUND rgsabound[1] = { len, 0 }; ! psa = SafeArrayCreate(VT_I4, 1, rgsabound); if (psa==NULL) return E_OUTOFMEMORY; --- 314,318 ---- SAFEARRAY *psa; SAFEARRAYBOUND rgsabound[1] = { len, 0 }; ! psa = SafeArrayCreate(vt, 1, rgsabound); if (psa==NULL) return E_OUTOFMEMORY; *************** *** 553,556 **** --- 579,587 ---- } + HRESULT CPyCOMTest::TestOptionals3(double dval, short sval, IPyCOMTest **outinterface2) + { + return S_OK; + } + HRESULT CPyCOMTest::GetStruct(TestStruct1 *ret) { *************** *** 671,674 **** --- 702,717 ---- SafeArrayDestroy(array); + CHECK_HR(MakeFillIntArray(&array, 5, VT_I8)); + CHECK_HR(tester->CheckVariantSafeArray(&array, &result)); + CHECK_TRUE(result==1); + CHECK_HR(tester->SetLongLongSafeArray(array, &result)); + SafeArrayDestroy(array); + + CHECK_HR(MakeFillIntArray(&array, 5, VT_UI8)); + CHECK_HR(tester->CheckVariantSafeArray(&array, &result)); + CHECK_TRUE(result==1); + CHECK_HR(tester->SetULongLongSafeArray(array, &result)); + SafeArrayDestroy(array); + long lresult; CHECK_HR(tester->put_LongProp(4)); |
From: Mark H. <mha...@us...> - 2009-06-12 07:50:05
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28153/com/win32com/src Modified Files: oleargs.cpp Log Message: pythoncom gets better support for 64bit integers, including in arrays. Index: oleargs.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/oleargs.cpp,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** oleargs.cpp 25 Jan 2009 03:11:40 -0000 1.45 --- oleargs.cpp 12 Jun 2009 07:48:33 -0000 1.46 *************** *** 692,695 **** --- 692,702 ---- break; } + case VT_I8: { + LARGE_INTEGER ll; + hres = SafeArrayGetElement(psa, arrayIndices, &ll); + if (FAILED(hres)) break; + subitem = PyWinObject_FromPY_LONG_LONG(ll); + break; + } case VT_R4: { float fl; *************** *** 783,786 **** --- 790,800 ---- break; } + case VT_UI8: { + ULARGE_INTEGER ll; + hres = SafeArrayGetElement(psa, arrayIndices, &ll); + if (FAILED(hres)) break; + subitem = PyWinObject_FromUPY_LONG_LONG(ll); + break; + } case VT_INT: { int i1; *************** *** 1111,1114 **** --- 1125,1156 ---- } break; + case VT_I8: + if (!PyWinObject_AsPY_LONG_LONG(obj, &V_I8(var))) + BREAK_FALSE; + break; + case VT_I8 | VT_BYREF: + if (bCreateBuffers) + V_I8REF(var) = &m_llBuf; + + if (!VALID_BYREF_MISSING(obj)) { + if (!PyWinObject_AsPY_LONG_LONG(obj, V_I8REF(var))) + BREAK_FALSE; + } else + *V_I8REF(var) = 0; + break; + case VT_UI8: + if (!PyWinObject_AsUPY_LONG_LONG(obj, &V_UI8(var))) + BREAK_FALSE; + break; + case VT_UI8 | VT_BYREF: + if (bCreateBuffers) + V_UI8REF(var) = (unsigned long long *)&m_llBuf; + + if (!VALID_BYREF_MISSING(obj)) { + if (!PyWinObject_AsUPY_LONG_LONG(obj, V_UI8REF(var))) + BREAK_FALSE; + } else + *V_UI8REF(var) = 0; + break; case VT_I4: if ((obUse=PyNumber_Int(obj))==NULL) BREAK_FALSE |
From: Mark H. <mha...@us...> - 2009-06-12 07:49:55
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src/include In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28153/com/win32com/src/include Modified Files: PythonCOM.h Log Message: pythoncom gets better support for 64bit integers, including in arrays. Index: PythonCOM.h =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/include/PythonCOM.h,v retrieving revision 1.30 retrieving revision 1.31 diff -C2 -d -r1.30 -r1.31 *** PythonCOM.h 19 Dec 2008 02:28:48 -0000 1.30 --- PythonCOM.h 12 Jun 2009 07:48:33 -0000 1.31 *************** *** 705,708 **** --- 705,709 ---- short m_sBuf; long m_lBuf; + long long m_llBuf; VARIANT_BOOL m_boolBuf; double m_dBuf; |
From: Mark H. <mha...@us...> - 2009-06-12 07:49:43
|
Update of /cvsroot/pywin32/pywin32/com/win32com/servers In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28153/com/win32com/servers Modified Files: test_pycomtest.py Log Message: pythoncom gets better support for 64bit integers, including in arrays. Index: test_pycomtest.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/servers/test_pycomtest.py,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** test_pycomtest.py 9 Jan 2009 01:24:54 -0000 1.13 --- test_pycomtest.py 12 Jun 2009 07:48:33 -0000 1.14 *************** *** 77,80 **** --- 77,86 ---- return len(ints) + def SetLongLongSafeArray(self, ints): + return len(ints) + + def SetULongLongSafeArray(self, ints): + return len(ints) + def SetBinSafeArray(self, buf): return len(buf) |
From: Mark H. <mha...@us...> - 2009-06-12 07:49:39
|
Update of /cvsroot/pywin32/pywin32/com/win32com/test In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28153/com/win32com/test Modified Files: testPyComTest.py Log Message: pythoncom gets better support for 64bit integers, including in arrays. Index: testPyComTest.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/test/testPyComTest.py,v retrieving revision 1.45 retrieving revision 1.46 diff -C2 -d -r1.45 -r1.46 *** testPyComTest.py 3 Feb 2009 23:00:36 -0000 1.45 --- testPyComTest.py 12 Jun 2009 07:48:33 -0000 1.46 *************** *** 278,281 **** --- 278,284 ---- TestApplyResult(o.SetVariantSafeArray, (l,), len(l)) TestApplyResult(o.SetIntSafeArray, (l,), len(l)) + ll=[1,2,3,0x100000000] + TestApplyResult(o.SetLongLongSafeArray, (ll,), len(ll)) + TestApplyResult(o.SetULongLongSafeArray, (ll,), len(ll)) # check we can pass ints as a VT_UI1 TestApplyResult(o.SetBinSafeArray, (l,), len(l)) |
From: Mark H. <mha...@us...> - 2009-06-12 07:49:24
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28035 Modified Files: CHANGES.txt Log Message: mention Roger fixing pythoncom import on win2k Index: CHANGES.txt =================================================================== RCS file: /cvsroot/pywin32/pywin32/CHANGES.txt,v retrieving revision 1.48 retrieving revision 1.49 diff -C2 -d -r1.48 -r1.49 *** CHANGES.txt 30 Mar 2009 12:02:42 -0000 1.48 --- CHANGES.txt 12 Jun 2009 07:47:53 -0000 1.49 *************** *** 9,12 **** --- 9,15 ---- ---------------- + * pythoncom may fail to import on Windows 2000 installs with a default IE + (Roger) + * Fix Pythonwin when backspacing over an extended character (from markt (metolone), via bug 2618277) |
From: Mark H. <mha...@us...> - 2009-04-23 02:01:52
|
Update of /cvsroot/pywin32/pywin32/isapi/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv18513/src Modified Files: PyExtensionObjects.cpp Log Message: fix to avoid leaving a stale KeyError hanging around Index: PyExtensionObjects.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/isapi/src/PyExtensionObjects.cpp,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** PyExtensionObjects.cpp 2 Mar 2009 04:39:37 -0000 1.16 --- PyExtensionObjects.cpp 23 Apr 2009 02:01:39 -0000 1.17 *************** *** 64,68 **** if (!key) return; // ack - not much more we can do. ! if (!PyDict_DelItem(g_callbackMap, key)) PyErr_Clear(); Py_DECREF(key); --- 64,68 ---- if (!key) return; // ack - not much more we can do. ! if (0!=PyDict_DelItem(g_callbackMap, key)) PyErr_Clear(); Py_DECREF(key); |
From: Roger U. <ru...@us...> - 2009-04-19 06:46:36
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17564 Modified Files: interact.py Log Message: Fix traceback colorizing in Py3k Index: interact.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/interact.py,v retrieving revision 1.21 retrieving revision 1.22 diff -C2 -d -r1.21 -r1.22 *** interact.py 31 Jan 2009 03:52:39 -0000 1.21 --- interact.py 19 Apr 2009 06:46:24 -0000 1.22 *************** *** 45,49 **** """, re.VERBOSE).match ! tracebackHeader = "Traceback (" sectionProfile = "Interactive Window" --- 45,49 ---- """, re.VERBOSE).match ! tracebackHeader = "Traceback (".encode("ascii") sectionProfile = "Interactive Window" |
From: Roger U. <ru...@us...> - 2009-04-18 19:25:09
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv17156 Modified Files: winout.py Log Message: Add OnSaveDocument to WindowOutputDocument so that interactive window can be saved Index: winout.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/winout.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** winout.py 31 Jan 2009 05:56:01 -0000 1.16 --- winout.py 18 Apr 2009 19:25:05 -0000 1.17 *************** *** 50,53 **** --- 50,63 ---- return 1 # say it is OK to destroy my document + def OnSaveDocument( self, fileName ): + win32ui.SetStatusText("Saving file...",1) + try: + self.SaveFile(fileName) + except IOError, details: + win32ui.MessageBox("Error - could not save file\r\n\r\n%s"%details) + return 0 + win32ui.SetStatusText("Ready") + return 1 + class WindowOutputFrame(window.MDIChildWnd): def __init__(self, wnd = None): *************** *** 299,303 **** docview.DocTemplate.__init__(self, win32ui.IDR_PYTHONTYPE, \ makeDoc, makeFrame, makeView) ! self.SetDocStrings("\nOutput\n\n\n\n\n\n") win32ui.GetApp().AddDocTemplate(self) self.writeQueueing = queueing --- 309,313 ---- docview.DocTemplate.__init__(self, win32ui.IDR_PYTHONTYPE, \ makeDoc, makeFrame, makeView) ! self.SetDocStrings("\nOutput\n\nText Documents (*.txt)\n.txt\n\n\n") win32ui.GetApp().AddDocTemplate(self) self.writeQueueing = queueing |
From: Mark H. <mha...@us...> - 2009-04-10 07:31:05
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv16603 Modified Files: win32gui.i Log Message: autoduck param for GetOpenFileName Index: win32gui.i =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/win32gui.i,v retrieving revision 1.126 retrieving revision 1.127 diff -C2 -d -r1.126 -r1.127 *** win32gui.i 8 Feb 2009 09:58:49 -0000 1.126 --- win32gui.i 10 Apr 2009 07:30:55 -0000 1.127 *************** *** 4575,4578 **** --- 4575,4579 ---- // @pyswig int|GetOpenFileName|Creates an Open dialog box that lets the user specify the drive, directory, and the name of a file or set of files to open. // @rdesc If the user presses OK, the function returns TRUE. Otherwise, use CommDlgExtendedError for error details. + // @param string/bytes|OPENFILENAME||A string packed into an OPENFILENAME structure, probably via the struct module. BOOL GetOpenFileName(OPENFILENAME *INPUT); |
From: Mark H. <mha...@us...> - 2009-04-06 12:19:59
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11384/pywin/framework Modified Files: intpyapp.py Log Message: Fix [2686042] - pythonwin documentation out of date Index: intpyapp.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/framework/intpyapp.py,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** intpyapp.py 4 Jan 2009 02:06:08 -0000 1.16 --- intpyapp.py 6 Apr 2009 12:19:54 -0000 1.17 *************** *** 162,167 **** def InitInstance(self): ! # Allow "/nodde" and "/newinstance to optimize this! ! if "/nodde" not in sys.argv and "/newinstance" not in sys.argv: if self.InitDDE(): return 1 # A remote DDE client is doing it for us! --- 162,167 ---- def InitInstance(self): ! # Allow "/nodde" and "/new" to optimize this! ! if "/nodde" not in sys.argv and "/new" not in sys.argv: if self.InitDDE(): return 1 # A remote DDE client is doing it for us! *************** *** 227,231 **** # activate it! if dde is not None: dde.Exec("self.Activate()") ! if len(args) and args[0] in ['/nodde','/newinstance']: del args[0] # already handled. if len(args)<1 or not args[0]: # argv[0]=='' when started without args, just like Python.exe! return --- 227,231 ---- # activate it! if dde is not None: dde.Exec("self.Activate()") ! if len(args) and args[0] in ['/nodde','/new']: del args[0] # already handled. if len(args)<1 or not args[0]: # argv[0]=='' when started without args, just like Python.exe! return *************** *** 260,265 **** elif argType=="/app": raise RuntimeError("/app only supported for new instances of Pythonwin.exe") - elif argType=='/new': # Allow a new instance of Pythonwin - return 1 elif argType=='/dde': # Send arbitary command if dde is not None: --- 260,263 ---- |
From: Mark H. <mha...@us...> - 2009-04-06 12:19:58
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/doc In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11384/doc Modified Files: guienvironment.html Log Message: Fix [2686042] - pythonwin documentation out of date Index: guienvironment.html =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/doc/guienvironment.html,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** guienvironment.html 1 Sep 1999 23:33:32 -0000 1.1 --- guienvironment.html 6 Apr 2009 12:19:54 -0000 1.2 *************** *** 1,44 **** <HTML> ! <HEAD> ! <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252"> ! <META NAME="Generator" CONTENT="Microsoft Word 97"> ! <TITLE>Pythonwin GUI Environment</TITLE> ! <META NAME="Template" CONTENT="D:\Program Files\Microsoft Office\Office\html.dot"> </HEAD> ! <BODY LINK="#0000ff" VLINK="#800080"> - <H1><IMG SRC="pythonwin.gif" WIDTH=64 HEIGHT=64>Pythonwin GUI Environment </H1> <P>This document describes the Pythonwin GUI environment. There are quite a few little features hidden away! </P> ! <P>It has a discussion on the General Environment (including the <A HREF="#InteractiveWindow">Interactive Window</A> and <A HREF="#MenuandToolbar">Menu and Toolbar</A>), and the <A HREF="#CommandLineArguments">Command Line Arguments</A> supported. </P> <H2>General Environment </H2> <H3><A NAME="InteractiveWindow">Interactive Window</A> </H3> ! <P>The Interactive Window is a little Python program which simulates the built-in Python interpreter. It is implemented in intpyapp.py (which in turn uses winout.py - a general purpose "output window".) </P> <H4>Pressing Enter </H4> ! <P>Whenever you press Enter, the interactive window has a look at the context, to try and decide what to do. </P> ! <P>If the line is recognised as a "block" (ie, the first line starts with ">>> ", and the rest start with " "), it checks to see if we are at the end of the window. If not, the block is copied to the end of the buffer - nothing is executed - enter must be pressed again to force execution. </P> ! <P>If we are at the end of the buffer, it <I>always</I> attempts to execute the line. If Python indicates "unexpected end of file", then it assumes the block should continue, and emits the " " for the next line. </P> ! <P>If the line is recognised as part of a Python exception, then some special processing is done. If the line contains a filename and line number, it locates that file, and jumps to the offending line. </P> ! <P>If the line is recognised as being an exception generated by COM (aka OLE), and the exception contains reference to a WinHelp file, the help topic is opened. </P> <H3><A NAME="MenuandToolbar">Menu and Toolbar</A> </H3> <H4>File Open/Close/Save/Print/etc. </H4> ! <P>All perform the obvious file operations. Pythonwin follows the standard MFC framework, and allows Python programs to plug-in support for other file types. </P> <H4>Locate File </H4> ! <P>Allows quick location of a Python scripts. Typing in the base name of a file will force a search of all the directories on sys.path, until a match is found. </P> ! <P>To locate a module in a package, use a (back) slash instead of a dot - eg, to locate "win32com.client.dynamic", type in "win32com\client/dynamic" </P> <H4>Import Script </H4> ! <P>Imports or reloads a script - just like "import scriptname"/"reload(scriptname)" - (Pythonwin determines if the operation is an import or reload, It also handles "ni" modules with some success!) </P> ! <P>If you select this (or use <Ctrl-I>) when a .py file is open, that file is saved and imported. If a current file can not be located, it will ask for a file to import via a File dialog. </P> ! <P>If a syntax error occurs, the location will be moved to in the editor. </P> <H4>Run Script </H4> ! <P>Runs a script, as if the file was passed on the command line. A dialog is opened, asking the script name and arguments (unless the <Shift> key is held down) </P> <H2><A NAME="CommandLineArguments">Command Line Arguments</A> </H2> ! <P>The following command line arguments are recognised. Note that these are implemented in "intpyapp.py", so should be pretty easy to change! </P> <H4>/run scriptname args </H4> ! <P>Runs the named script. Works just like "Python.exe scriptname args", except it is run in the GUI environment, and output goes to the interactive window. </P> ! <H4>/runargs scriptname args </H4> <P>As above, except the normal Pythonwin 'Run Script' dialog is shown. </P> <H4>/edit filename.py </H4> ! <P>Edits the filename. The /edit is currently optional, but in the future, the "default argument handling" may be changed. </P> <H4>/app specialscriptname args </H4> ! <P>Runs a special "application script". The application script can change the entire look and feel of a Pythonwin program - almost as much flexibility as the C++ programmer has when they first start their application). An example of this is "dlgapp.py" in the Pythonwin distribution. </P></BODY> </HTML> --- 1,104 ---- <HTML> ! <HEAD> ! <TITLE>Pythonwin GUI Environment</TITLE> </HEAD> ! <BODY> ! <H1><IMG SRC="pythonwin.gif" WIDTH=64 HEIGHT=64>Pythonwin GUI Environment</H1> <P>This document describes the Pythonwin GUI environment. There are quite a few little features hidden away! </P> ! <P>It has a discussion on the General Environment (including the ! <A HREF="#InteractiveWindow">Interactive Window</A> and <A HREF="#MenuandToolbar">Menu and Toolbar</A>), ! and the <A HREF="#CommandLineArguments">Command Line Arguments</A> supported. </P> ! <H2>General Environment </H2> <H3><A NAME="InteractiveWindow">Interactive Window</A> </H3> ! <P>The Interactive Window is a little Python program which simulates the ! built-in Python interpreter. It is implemented in intpyapp.py (which ! in turn uses winout.py - a general purpose "output window".) ! </P> <H4>Pressing Enter </H4> ! <P>Whenever you press Enter, the interactive window has a look at ! the context, to try and decide what to do. ! </P> ! <P>If the line is recognised as a "block" (ie, the first line starts with ! ">>> ", and the rest start with " "), it checks to see if we ! are at the end of the window. If not, the block is copied to the end of ! the buffer - nothing is executed - enter must be pressed again to force ! execution. ! </P> ! <P>If we are at the end of the buffer, it <I>always</I> attempts to execute ! the line. If Python indicates "unexpected end of file", then it assumes ! the block should continue, and emits the " " for the next line. ! </P> ! <P>If the line is recognised as part of a Python exception, then some special ! processing is done. If the line contains a filename and line number, it ! locates that file, and jumps to the offending line. ! </P> ! <P>If the line is recognised as being an exception generated by COM (aka OLE), ! and the exception contains reference to a WinHelp file, the help topic is ! opened. ! </P> <H3><A NAME="MenuandToolbar">Menu and Toolbar</A> </H3> <H4>File Open/Close/Save/Print/etc. </H4> ! <P>All perform the obvious file operations. Pythonwin follows the standard ! MFC framework, and allows Python programs to plug-in support for other file ! types. ! </P> <H4>Locate File </H4> ! <P>Allows quick location of a Python scripts. Typing in the base name of a ! file will force a search of all the directories on sys.path, until a match ! is found. ! </P> ! <P>To locate a module in a package you can use either a (back) slash or a ! dot - eg, to locate "win32com.client.dynamic", you can enter in ! "win32com\client/dynamic" ! </P> <H4>Import Script </H4> ! <P>Imports or reloads a script - just like ! "import scriptname"/"reload(scriptname)" - (Pythonwin determines if the ! operation is an import or reload, It also handles "ni" modules with some ! success!) ! </P> ! <P>If you select this (or use <Ctrl-I>) when a .py file is open, that ! file is saved and imported. If a current file can not be located, it will ! ask for a file to import via a File dialog. ! </P> ! <P>If a syntax error occurs, the location will be moved to in the editor. ! </P> <H4>Run Script </H4> ! <P>Runs a script, as if the file was passed on the command line. A dialog is ! opened, asking the script name and arguments (unless the <Shift> key ! is held down) ! </P> <H2><A NAME="CommandLineArguments">Command Line Arguments</A> </H2> ! <P>The following command line arguments are recognised. Note that these are ! implemented in "intpyapp.py", so should be pretty easy to change! ! </P> ! <H4>/new</H4> ! <H4><i>(deprecated)</i>/nodde</H4> ! <P>Creates a new instance of the application even if one is already running. ! </P> ! ! <H4>/edit filename</H4> ! <P>Edit the named file. ! </P> ! <H4>/run scriptname args </H4> ! <P>Runs the named script. Works just like "Python.exe scriptname args", except ! it is run in the GUI environment, and output goes to the interactive ! window. ! </P> ! <H4>/rundlg scriptname args </H4> <P>As above, except the normal Pythonwin 'Run Script' dialog is shown. </P> <H4>/edit filename.py </H4> ! <P>Edits the filename. The /edit is currently optional, but in the future, ! the "default argument handling" may be changed. ! </P> <H4>/app specialscriptname args </H4> ! <P>Runs a special "application script". The application script can change the ! entire look and feel of a Pythonwin program - almost as much flexibility as ! the C++ programmer has when they first start their application). An example ! of this is "dlgapp.py" in the Pythonwin distribution. ! </P> ! </BODY> </HTML> |
From: Mark H. <mha...@sk...> - 2009-04-02 10:29:19
|
Hi anyone who may be listening :) Given Python's decision, I'm looking at making the same one - Mercurial (I'm a little frustrated with bzr and happy with hg, so Python's call makes it easy). While looking at the conversion options, it occurs to me that we really have no branches of interest - there are very few at all, and the only one in the last 6 years or so is the py3k one - and I'm confident that is currently dead, and the only thing lost *iff* that branch fails is the true record of how much work Roger did (ie, I merged many of his changes back to the trunk, so ultimatley *I* get the praise/blame :) I'd hope we can carry this branch forward if the tools and gods smile on us, but if the branches were a problem I'd be happy to sacrifice them in the interests of not blowing 2 weeks on the conversion... Any thoughts? Thanks, Mark |
From: Roger U. <ru...@us...> - 2009-04-01 13:13:15
|
Update of /cvsroot/pywin32/pywin32/com/win32com/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv7333 Modified Files: PythonCOM.cpp Log Message: Load CreateURLMonikerEx function pointer dynamically Standardize loading of CoWaitForMultipleHandles Index: PythonCOM.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/src/PythonCOM.cpp,v retrieving revision 1.59 retrieving revision 1.60 diff -C2 -d -r1.59 -r1.60 *** PythonCOM.cpp 3 Feb 2009 03:23:07 -0000 1.59 --- PythonCOM.cpp 1 Apr 2009 12:42:32 -0000 1.60 *************** *** 86,95 **** // Function pointers we load at runtime. ! HRESULT (STDAPICALLTYPE *pfnCoWaitForMultipleHandles)(DWORD dwFlags, DWORD dwTimeout, ULONG cHandles, LPHANDLE pHandles, LPDWORD lpdwindex ! ) = NULL; // typedefs for the function pointers are in OleAcc.h --- 86,101 ---- // Function pointers we load at runtime. ! #define CHECK_PFN(fname) if (pfn##fname==NULL) return PyCom_BuildPyException(E_NOTIMPL); ! ! typedef HRESULT (STDAPICALLTYPE *CoWaitForMultipleHandlesfunc)(DWORD dwFlags, DWORD dwTimeout, ULONG cHandles, LPHANDLE pHandles, LPDWORD lpdwindex ! ); ! static CoWaitForMultipleHandlesfunc pfnCoWaitForMultipleHandles = NULL; ! ! typedef HRESULT (STDAPICALLTYPE *CreateURLMonikerExfunc)(LPMONIKER,LPCWSTR,LPMONIKER *,DWORD); ! static CreateURLMonikerExfunc pfnCreateURLMonikerEx = NULL; // typedefs for the function pointers are in OleAcc.h *************** *** 917,920 **** --- 923,928 ---- HRESULT hr; DWORD flags = URL_MK_UNIFORM; + CHECK_PFN(CreateURLMonikerEx); + if (!PyArg_ParseTuple(args, "OO|k:CreateURLMonikerEx", &obbase, // @pyparm <o PyIMoniker>|Context||An IMoniker interface to be used as a base with a partial URL, can be None *************** *** 927,931 **** if (PyCom_InterfaceFromPyObject(obbase, IID_IMoniker, (LPVOID*)&base_moniker, TRUE)){ PY_INTERFACE_PRECALL; ! hr = CreateURLMonikerEx(base_moniker, url, &output_moniker, flags); if (base_moniker) base_moniker->Release(); --- 935,939 ---- if (PyCom_InterfaceFromPyObject(obbase, IID_IMoniker, (LPVOID*)&base_moniker, TRUE)){ PY_INTERFACE_PRECALL; ! hr = (*pfnCreateURLMonikerEx)(base_moniker, url, &output_moniker, flags); if (base_moniker) base_moniker->Release(); *************** *** 1553,1565 **** DWORD numItems; HANDLE *pItems = NULL; ! if (!pfnCoWaitForMultipleHandles) { ! return PyCom_BuildPyException(E_NOTIMPL); ! return NULL; ! } if (!PyArg_ParseTuple(args, "iiO:CoWaitForMultipleHandles", ! &flags, // @pyparm int|flags|| ! &timeout, // @pyparm int|timeout|| ! &obHandles)) // @pyparm [<o PyHANDLE>, ...]|handles|| return NULL; if (!MakeHandleList(obHandles, &pItems, &numItems)) --- 1561,1570 ---- DWORD numItems; HANDLE *pItems = NULL; ! CHECK_PFN(CoWaitForMultipleHandles); if (!PyArg_ParseTuple(args, "iiO:CoWaitForMultipleHandles", ! &flags, // @pyparm int|Flags||Combination of pythoncom.COWAIT_* values ! &timeout, // @pyparm int|Timeout||Timeout in milliseconds ! &obHandles)) // @pyparm [<o PyHANDLE>, ...]|Handles||Sequence of handles return NULL; if (!MakeHandleList(obHandles, &pItems, &numItems)) *************** *** 2082,2088 **** // Load function pointers. HMODULE hModOle32 = GetModuleHandle(_T("ole32.dll")); ! pfnCoWaitForMultipleHandles = \ ! (HRESULT (STDAPICALLTYPE *)(DWORD, DWORD, ULONG, LPHANDLE, LPDWORD)) \ ! GetProcAddress(hModOle32, "CoWaitForMultipleHandles"); // Symbolic constants. --- 2087,2098 ---- // Load function pointers. HMODULE hModOle32 = GetModuleHandle(_T("ole32.dll")); ! if (hModOle32) ! pfnCoWaitForMultipleHandles = (CoWaitForMultipleHandlesfunc)GetProcAddress(hModOle32, "CoWaitForMultipleHandles"); ! ! HMODULE hModurlmon = GetModuleHandle(_T("urlmon.dll")); ! if (hModurlmon == NULL) ! hModurlmon = LoadLibrary(_T("urlmon.dll")); ! if (hModurlmon) ! pfnCreateURLMonikerEx = (CreateURLMonikerExfunc)GetProcAddress(hModurlmon, "CreateURLMonikerEx"); // Symbolic constants. *************** *** 2370,2373 **** --- 2380,2387 ---- ADD_CONSTANT(URL_MK_LEGACY); + // Flags for CoWaitForMultipleHandles + ADD_CONSTANT(COWAIT_WAITALL); + ADD_CONSTANT(COWAIT_ALERTABLE); + #ifndef NO_PYCOM_IDISPATCHEX ADD_CONSTANT(fdexNameCaseSensitive); // Request that the name lookup be done in a case-sensitive manner. May be ignored by object that does not support case-sensitive lookup. |
From: Mark H. <mha...@us...> - 2009-03-30 12:02:54
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8398/pythonwin/pywin/scintilla Modified Files: IDLEenvironment.py Log Message: Fix Pythonwin when backspacing over an extended character (from markt (metolone), via bug 2618277) Index: IDLEenvironment.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/scintilla/IDLEenvironment.py,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** IDLEenvironment.py 27 Nov 2008 03:53:25 -0000 1.14 --- IDLEenvironment.py 30 Mar 2009 12:02:43 -0000 1.15 *************** *** 303,307 **** def _getindex(self, off): return TkOffsetToIndex(off, self.edit) ! def _fix_eol_indexes(self, start, end): if start>0 and self.edit.SCIGetCharAt(start)=='\n' and self.edit.SCIGetCharAt(start-1)=='\r': start = start - 1 --- 303,313 ---- def _getindex(self, off): return TkOffsetToIndex(off, self.edit) ! def _fix_indexes(self, start, end): ! # first some magic to handle skipping over utf8 extended chars. ! while start > 0 and ord(self.edit.SCIGetCharAt(start)) & 0xC0 == 0x80: ! start -= 1 ! while end < self.edit.GetTextLength() and ord(self.edit.SCIGetCharAt(end)) & 0xC0 == 0x80: ! end += 1 ! # now handling fixing \r\n->\n disparities... if start>0 and self.edit.SCIGetCharAt(start)=='\n' and self.edit.SCIGetCharAt(start-1)=='\r': start = start - 1 *************** *** 340,344 **** end = max checkEnd = 1 ! start, end = self._fix_eol_indexes(start, end) ret = self.edit.GetTextRange(start, end) # pretend a trailing '\n' exists if necessary. --- 346,350 ---- end = max checkEnd = 1 ! start, end = self._fix_indexes(start, end) ret = self.edit.GetTextRange(start, end) # pretend a trailing '\n' exists if necessary. *************** *** 380,385 **** if start==self.edit.GetTextLength(): return # Nothing to delete. old = self.edit.GetSel()[0] # Lose a selection ! # Hack for partial '\r\n' removal ! start, end = self._fix_eol_indexes(start, end) self.edit.SetSel((start, end)) self.edit.Clear() --- 386,391 ---- if start==self.edit.GetTextLength(): return # Nothing to delete. old = self.edit.GetSel()[0] # Lose a selection ! # Hack for partial '\r\n' and UTF-8 char removal ! start, end = self._fix_indexes(start, end) self.edit.SetSel((start, end)) self.edit.Clear() *************** *** 519,521 **** if __name__=='__main__': ! test() \ No newline at end of file --- 525,528 ---- if __name__=='__main__': ! test() ! |
From: Mark H. <mha...@us...> - 2009-03-30 12:02:50
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv8398 Modified Files: CHANGES.txt Log Message: Fix Pythonwin when backspacing over an extended character (from markt (metolone), via bug 2618277) Index: CHANGES.txt =================================================================== RCS file: /cvsroot/pywin32/pywin32/CHANGES.txt,v retrieving revision 1.47 retrieving revision 1.48 diff -C2 -d -r1.47 -r1.48 *** CHANGES.txt 22 Mar 2009 01:27:15 -0000 1.47 --- CHANGES.txt 30 Mar 2009 12:02:42 -0000 1.48 *************** *** 9,12 **** --- 9,15 ---- ---------------- + * Fix Pythonwin when backspacing over an extended character (from markt + (metolone), via bug 2618277) + * Fixed a regression which would cause an error if you compared a PyTime object to any other type, including None |
From: Roger U. <ru...@us...> - 2009-03-27 12:34:48
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv11396 Modified Files: genpy.py Log Message: Fix open mode conflict (bug # 2672514) Index: genpy.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/genpy.py,v retrieving revision 1.65 retrieving revision 1.66 diff -C2 -d -r1.65 -r1.66 *** genpy.py 14 Jan 2009 04:55:42 -0000 1.65 --- genpy.py 27 Mar 2009 12:34:43 -0000 1.66 *************** *** 778,782 **** else: import codecs # not available in py3k. ! ret = codecs.open(filename, "wt", encoding) return ret --- 778,782 ---- else: import codecs # not available in py3k. ! ret = codecs.open(filename, "w", encoding) return ret |
From: Jason R. C. <ja...@us...> - 2009-03-25 00:29:56
|
Update of /cvsroot/pywin32/pywin32/win32/Lib In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv1905 Modified Files: win32timezone.py Log Message: Fix for bug 2706383 including unit test to prevent it from recurring. Index: win32timezone.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/Lib/win32timezone.py,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** win32timezone.py 8 Feb 2009 09:56:21 -0000 1.27 --- win32timezone.py 25 Mar 2009 00:29:43 -0000 1.28 *************** *** 146,149 **** --- 146,153 ---- >>> (not caps['DynamicTZSupport'] and not caps['MissingTZPatch']) == old_dates_wrong True + + This test helps ensure language support for unicode characters + >>> x = TIME_ZONE_INFORMATION(0, 'fran\xc3\xa7ais'.decode('utf-8')) + """ from __future__ import generators *************** *** 163,167 **** import operator import warnings - import pywintypes from itertools import count --- 167,170 ---- *************** *** 224,231 **** _fields_ = [ ('bias', int), ! ('standard_name', str), ('standard_start', SYSTEMTIME), ('standard_bias', int), ! ('daylight_name', str), ('daylight_start', SYSTEMTIME), ('daylight_bias', int), --- 227,234 ---- _fields_ = [ ('bias', int), ! ('standard_name', unicode), ('standard_start', SYSTEMTIME), ('standard_bias', int), ! ('daylight_name', unicode), ('daylight_start', SYSTEMTIME), ('daylight_bias', int), *************** *** 234,238 **** class DYNAMIC_TIME_ZONE_INFORMATION(_SimpleStruct): _fields_ = TIME_ZONE_INFORMATION._fields_ + [ ! ('key_name', str), ('dynamic_daylight_time_disabled', bool), ] --- 237,241 ---- class DYNAMIC_TIME_ZONE_INFORMATION(_SimpleStruct): _fields_ = TIME_ZONE_INFORMATION._fields_ + [ ! ('key_name', unicode), ('dynamic_daylight_time_disabled', bool), ] |
From: Mark H. <mha...@us...> - 2009-03-22 01:27:22
|
Update of /cvsroot/pywin32/pywin32 In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28277 Modified Files: CHANGES.txt Log Message: note fix to PyTime comparison regression Index: CHANGES.txt =================================================================== RCS file: /cvsroot/pywin32/pywin32/CHANGES.txt,v retrieving revision 1.46 retrieving revision 1.47 diff -C2 -d -r1.46 -r1.47 *** CHANGES.txt 10 Feb 2009 11:21:18 -0000 1.46 --- CHANGES.txt 22 Mar 2009 01:27:15 -0000 1.47 *************** *** 6,9 **** --- 6,15 ---- However contributors are encouraged to add their own entries for their work. + Since build 213: + ---------------- + + * Fixed a regression which would cause an error if you compared a PyTime + object to any other type, including None + Since build 212: ---------------- |
From: Mark H. <mha...@us...> - 2009-03-22 01:26:50
|
Update of /cvsroot/pywin32/pywin32/com/win32com/client In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv28031/com/win32com/client Modified Files: dynamic.py Log Message: Can't get typeinfo when our object is None Index: dynamic.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/com/win32com/client/dynamic.py,v retrieving revision 1.31 retrieving revision 1.32 diff -C2 -d -r1.31 -r1.32 *** dynamic.py 10 Feb 2009 11:16:43 -0000 1.31 --- dynamic.py 22 Mar 2009 01:26:43 -0000 1.32 *************** *** 117,126 **** if typeinfo is None: typeinfo = IDispatch.GetTypeInfo() ! try: ! #try for a typecomp ! typecomp = typeinfo.GetTypeComp() ! lazydata = typeinfo, typecomp ! except pythoncom.com_error: ! pass except pythoncom.com_error: typeinfo = None --- 117,127 ---- if typeinfo is None: typeinfo = IDispatch.GetTypeInfo() ! if typeinfo is not None: ! try: ! #try for a typecomp ! typecomp = typeinfo.GetTypeComp() ! lazydata = typeinfo, typecomp ! except pythoncom.com_error: ! pass except pythoncom.com_error: typeinfo = None |
From: Mark H. <mha...@us...> - 2009-03-22 01:25:53
|
Update of /cvsroot/pywin32/pywin32/Pythonwin/pywin/Demos In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv27644/Pythonwin/pywin/Demos Modified Files: sliderdemo.py Log Message: hook WM_HSCROLL to show when the slider is moved Index: sliderdemo.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/Pythonwin/pywin/Demos/sliderdemo.py,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** sliderdemo.py 4 Oct 1999 08:39:31 -0000 1.1 --- sliderdemo.py 22 Mar 2009 01:25:45 -0000 1.2 *************** *** 37,41 **** --- 37,46 ---- self._obj_, self.IDC_SLIDER) + self.HookMessage(self.OnSliderMove, win32con.WM_HSCROLL) return rc + + def OnSliderMove(self, params): + print "Slider moved" + def OnCancel(self): print "The slider control is at position", self.slider.GetPos() |
From: Mark H. <mha...@us...> - 2009-03-17 05:03:05
|
Update of /cvsroot/pywin32/pywin32/win32/test In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2452/test Modified Files: test_pywintypes.py Log Message: fix and test for failure comparing PyTime to None etc Index: test_pywintypes.py =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/test/test_pywintypes.py,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** test_pywintypes.py 4 Feb 2009 04:07:54 -0000 1.8 --- test_pywintypes.py 17 Mar 2009 04:32:48 -0000 1.9 *************** *** 49,52 **** --- 49,57 ---- self.failUnless(t2 > t1 ) + def testPyTimeCompareOther(self): + t1 = pywintypes.Time(100) + t2 = None + self.failIfEqual(t1, t2) + def testTimeTuple(self): now = datetime.datetime.now() # has usec... |
From: Mark H. <mha...@us...> - 2009-03-17 04:33:05
|
Update of /cvsroot/pywin32/pywin32/win32/src In directory ddv4jf1.ch3.sourceforge.com:/tmp/cvs-serv2452/src Modified Files: PyTime.cpp Log Message: fix and test for failure comparing PyTime to None etc Index: PyTime.cpp =================================================================== RCS file: /cvsroot/pywin32/pywin32/win32/src/PyTime.cpp,v retrieving revision 1.28 retrieving revision 1.29 diff -C2 -d -r1.28 -r1.29 *** PyTime.cpp 28 Jan 2009 10:54:41 -0000 1.28 --- PyTime.cpp 17 Mar 2009 04:32:48 -0000 1.29 *************** *** 437,443 **** { if (!PyWinTime_CHECK(other)){ ! PyErr_SetString(PyExc_TypeError, "PyTime cannot be compared to other types"); ! return NULL; ! } DATE other_time = ((PyTime *)other)->m_time; PyObject *ret; --- 437,443 ---- { if (!PyWinTime_CHECK(other)){ ! Py_INCREF(Py_NotImplemented); ! return Py_NotImplemented; ! } DATE other_time = ((PyTime *)other)->m_time; PyObject *ret; |