comtypes 1.1.1__zip → 1.1.3__zip
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- comtypes-1.1.3/CHANGES.txt +1061 -0
- comtypes-1.1.3/LICENSE.txt +24 -0
- comtypes-1.1.3/MANIFEST.in +1 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/PKG-INFO +52 -52
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/__init__.py +7 -2
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/automation.py +3 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/client/_code_cache.py +1 -1
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/npsupport.py +18 -15
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/safearray.py +2 -2
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/tools/codegenerator.py +8 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/typeinfo.py +6 -1
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes.egg-info/PKG-INFO +52 -52
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes.egg-info/SOURCES.txt +3 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/setup.cfg +5 -5
- {comtypes-1.1.1 → comtypes-1.1.3}/README +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/clear_comtypes_cache.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/GUID.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/_comobject.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/_meta.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/_safearray.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/client/__init__.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/client/_events.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/client/_generate.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/client/dynamic.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/client/lazybind.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/connectionpoints.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/errorinfo.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/git.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/hresult.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/logutil.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/messageloop.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/patcher.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/persist.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/__init__.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/automation.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/connectionpoints.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/inprocserver.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/localserver.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/register.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/server/w_getopt.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/shelllink.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/TestComServer.idl +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/TestComServer.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/TestComServer.tlb +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/TestDispServer.idl +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/TestDispServer.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/TestDispServer.tlb +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/__init__.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/find_memleak.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/mylib.idl +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/mytypelib.idl +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/runtests.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/setup.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_BSTR.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_DISPPARAMS.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_GUID.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_QueryService.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_agilent.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_avmc.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_basic.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_casesensitivity.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_client.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_collections.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_comserver.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_createwrappers.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_dict.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_dispinterface.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_dyndispatch.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_excel.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_findgendir.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_getactiveobj.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_ie.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_jscript.js +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_msscript.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_outparam.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_propputref.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_pump_events.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_safearray.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_sapi.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_server.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_showevents.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_subinterface.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_typeinfo.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_urlhistory.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_variant.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_win32com_interop.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_wmi.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/test/test_word.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/tools/__init__.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/tools/tlbparser.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/tools/typedesc.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/tools/typedesc_base.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/util.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes/viewobject.py +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes.egg-info/dependency_links.txt +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/comtypes.egg-info/top_level.txt +0 -0
- {comtypes-1.1.1 → comtypes-1.1.3}/setup.py +0 -0
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
This software is OSI Certified Open Source Software.
|
|
2
|
+
OSI Certified is a certification mark of the Open Source Initiative.
|
|
3
|
+
|
|
4
|
+
Copyright (c) 2006-2013, Thomas Heller.
|
|
5
|
+
Copyright (c) 2014, Comtypes Developers.
|
|
6
|
+
All rights reserved.
|
|
7
|
+
|
|
8
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
9
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
10
|
+
in the Software without restriction, including without limitation the rights
|
|
11
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
12
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
13
|
+
furnished to do so, subject to the following conditions:
|
|
14
|
+
|
|
15
|
+
The above copyright notice and this permission notice shall be included in
|
|
16
|
+
all copies or substantial portions of the Software.
|
|
17
|
+
|
|
18
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
19
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
20
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
21
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
22
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
23
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
24
|
+
THE SOFTWARE.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
include *.txt
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
Metadata-Version: 1.1
|
|
2
|
-
Name: comtypes
|
|
3
|
-
Version: 1.1.
|
|
4
|
-
Summary: Pure Python COM package
|
|
5
|
-
Home-page: http://starship.python.net/crew/theller/comtypes
|
|
6
|
-
Author: Thomas Heller
|
|
7
|
-
Author-email: theller@python.net
|
|
8
|
-
License: MIT License
|
|
9
|
-
Download-URL: https://github.com/enthought/comtypes/releases
|
|
10
|
-
Description: comtypes
|
|
11
|
-
========
|
|
12
|
-
|
|
13
|
-
**comtypes** is a lightweight Python COM package, based on the ctypes_
|
|
14
|
-
FFI library, in less than 10000 lines of code (not counting the
|
|
15
|
-
tests).
|
|
16
|
-
|
|
17
|
-
**comtypes** allows to define, call, and implement custom and
|
|
18
|
-
dispatch-based COM interfaces in pure Python. It works on Windows,
|
|
19
|
-
64-bit Windows, and Windows CE.
|
|
20
|
-
|
|
21
|
-
Documentation:
|
|
22
|
-
|
|
23
|
-
https://pythonhosted.org/comtypes
|
|
24
|
-
|
|
25
|
-
Contribute using the `source repository and issue tracker
|
|
26
|
-
<https://github.com/enthought/comtypes/>`_ on GitHub.
|
|
27
|
-
|
|
28
|
-
Mailing list:
|
|
29
|
-
|
|
30
|
-
http://gmane.org/info.php?group=gmane.comp.python.comtypes.user
|
|
31
|
-
|
|
32
|
-
https://lists.sourceforge.net/lists/listinfo/comtypes-users/
|
|
33
|
-
|
|
34
|
-
Download:
|
|
35
|
-
|
|
36
|
-
Releases can be downloaded in the PyPI page:
|
|
37
|
-
|
|
38
|
-
https://pypi.python.org/pypi/comtypes
|
|
39
|
-
|
|
40
|
-
.. _ctypes: http://docs.python.org/lib/module-ctypes.html
|
|
41
|
-
|
|
42
|
-
Platform: UNKNOWN
|
|
43
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
44
|
-
Classifier: Intended Audience :: Developers
|
|
45
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
46
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
47
|
-
Classifier: Operating System :: Microsoft :: Windows :: Windows CE
|
|
48
|
-
Classifier: Programming Language :: Python
|
|
49
|
-
Classifier: Programming Language :: Python :: 2.6
|
|
50
|
-
Classifier: Programming Language :: Python :: 2.7
|
|
51
|
-
Classifier: Programming Language :: Python :: 3
|
|
52
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
1
|
+
Metadata-Version: 1.1
|
|
2
|
+
Name: comtypes
|
|
3
|
+
Version: 1.1.3
|
|
4
|
+
Summary: Pure Python COM package
|
|
5
|
+
Home-page: http://starship.python.net/crew/theller/comtypes
|
|
6
|
+
Author: Thomas Heller
|
|
7
|
+
Author-email: theller@python.net
|
|
8
|
+
License: MIT License
|
|
9
|
+
Download-URL: https://github.com/enthought/comtypes/releases
|
|
10
|
+
Description: comtypes
|
|
11
|
+
========
|
|
12
|
+
|
|
13
|
+
**comtypes** is a lightweight Python COM package, based on the ctypes_
|
|
14
|
+
FFI library, in less than 10000 lines of code (not counting the
|
|
15
|
+
tests).
|
|
16
|
+
|
|
17
|
+
**comtypes** allows to define, call, and implement custom and
|
|
18
|
+
dispatch-based COM interfaces in pure Python. It works on Windows,
|
|
19
|
+
64-bit Windows, and Windows CE.
|
|
20
|
+
|
|
21
|
+
Documentation:
|
|
22
|
+
|
|
23
|
+
https://pythonhosted.org/comtypes
|
|
24
|
+
|
|
25
|
+
Contribute using the `source repository and issue tracker
|
|
26
|
+
<https://github.com/enthought/comtypes/>`_ on GitHub.
|
|
27
|
+
|
|
28
|
+
Mailing list:
|
|
29
|
+
|
|
30
|
+
http://gmane.org/info.php?group=gmane.comp.python.comtypes.user
|
|
31
|
+
|
|
32
|
+
https://lists.sourceforge.net/lists/listinfo/comtypes-users/
|
|
33
|
+
|
|
34
|
+
Download:
|
|
35
|
+
|
|
36
|
+
Releases can be downloaded in the PyPI page:
|
|
37
|
+
|
|
38
|
+
https://pypi.python.org/pypi/comtypes
|
|
39
|
+
|
|
40
|
+
.. _ctypes: http://docs.python.org/lib/module-ctypes.html
|
|
41
|
+
|
|
42
|
+
Platform: UNKNOWN
|
|
43
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
44
|
+
Classifier: Intended Audience :: Developers
|
|
45
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
46
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
47
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows CE
|
|
48
|
+
Classifier: Programming Language :: Python
|
|
49
|
+
Classifier: Programming Language :: Python :: 2.6
|
|
50
|
+
Classifier: Programming Language :: Python :: 2.7
|
|
51
|
+
Classifier: Programming Language :: Python :: 3
|
|
52
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
@@ -2,8 +2,8 @@ import types
|
|
|
2
2
|
import sys
|
|
3
3
|
import os
|
|
4
4
|
|
|
5
|
-
# comtypes version numbers follow semver (http://semver.org/)
|
|
6
|
-
__version__ = "1.1.
|
|
5
|
+
# comtypes version numbers follow semver (http://semver.org/) and PEP 440
|
|
6
|
+
__version__ = "1.1.3"
|
|
7
7
|
|
|
8
8
|
import logging
|
|
9
9
|
class NullHandler(logging.Handler):
|
|
@@ -653,6 +653,11 @@ class _cominterface_meta(type):
|
|
|
653
653
|
outnum += 1
|
|
654
654
|
|
|
655
655
|
rescode = func(self_, *args, **kw)
|
|
656
|
+
# If there is only a single output value, then do not expect it to
|
|
657
|
+
# be iterable.
|
|
658
|
+
if len(outargs) == 1: # rescode is not iterable
|
|
659
|
+
return rescode.__ctypes_from_outparam__()
|
|
660
|
+
|
|
656
661
|
rescode = list(rescode)
|
|
657
662
|
for outnum, o in outargs.items():
|
|
658
663
|
rescode[outnum] = o.__ctypes_from_outparam__()
|
|
@@ -858,6 +858,9 @@ _ctype_to_vartype = {
|
|
|
858
858
|
# such an array cannot be created.
|
|
859
859
|
POINTER(VARIANT): VT_BYREF|VT_VARIANT,
|
|
860
860
|
|
|
861
|
+
# This is needed to import Esri ArcObjects (esriSystem.olb).
|
|
862
|
+
POINTER(BSTR): VT_BYREF|VT_BSTR,
|
|
863
|
+
|
|
861
864
|
# These are not yet implemented:
|
|
862
865
|
## POINTER(IUnknown): VT_UNKNOWN,
|
|
863
866
|
## POINTER(IDispatch): VT_DISPATCH,
|
|
@@ -11,6 +11,7 @@ HAVE_NUMPY = numpy is not None
|
|
|
11
11
|
|
|
12
12
|
is_64bits = sys.maxsize > 2**32
|
|
13
13
|
|
|
14
|
+
|
|
14
15
|
def _make_variant_dtype():
|
|
15
16
|
""" Create a dtype for VARIANT. This requires support for Unions, which is
|
|
16
17
|
available in numpy version 1.7 or greater.
|
|
@@ -32,14 +33,14 @@ def _make_variant_dtype():
|
|
|
32
33
|
# overlapping typecodes only allowed in numpy version 1.7 or greater
|
|
33
34
|
U_VARIANT_format = dict(
|
|
34
35
|
names=[
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
36
|
+
'VT_BOOL', 'VT_I1', 'VT_I2', 'VT_I4', 'VT_I8', 'VT_INT', 'VT_UI1',
|
|
37
|
+
'VT_UI2', 'VT_UI4', 'VT_UI8', 'VT_UINT', 'VT_R4', 'VT_R8', 'VT_CY',
|
|
38
|
+
'c_wchar_p', 'c_void_p', 'pparray', 'bstrVal', '_tagBRECORD',
|
|
38
39
|
],
|
|
39
40
|
formats=[
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
41
|
+
'<i2', '<i1', '<i2', '<i4', '<i8', '<i4', '<u1', '<u2', '<u4',
|
|
42
|
+
'<u8', '<u4', '<f4', '<f8', '<i8', ptr_typecode, ptr_typecode,
|
|
43
|
+
ptr_typecode, ptr_typecode, _tagBRECORD_format,
|
|
43
44
|
],
|
|
44
45
|
offsets=[0] * 19 # This is what makes it a union
|
|
45
46
|
)
|
|
@@ -77,6 +78,10 @@ def isdatetime64(value):
|
|
|
77
78
|
return isinstance(value, datetime64)
|
|
78
79
|
|
|
79
80
|
|
|
81
|
+
com_null_date64 = None
|
|
82
|
+
datetime64 = None
|
|
83
|
+
VARIANT_dtype = None
|
|
84
|
+
|
|
80
85
|
if HAVE_NUMPY:
|
|
81
86
|
|
|
82
87
|
# dtype for VARIANT. This allows for packing of variants into an array, and
|
|
@@ -84,18 +89,16 @@ if HAVE_NUMPY:
|
|
|
84
89
|
try:
|
|
85
90
|
VARIANT_dtype = _make_variant_dtype()
|
|
86
91
|
except ValueError:
|
|
87
|
-
|
|
92
|
+
pass
|
|
88
93
|
|
|
89
94
|
# This simplifies dependent modules
|
|
90
95
|
try:
|
|
91
96
|
from numpy import datetime64
|
|
92
97
|
except ImportError:
|
|
93
|
-
|
|
94
|
-
com_null_date64 = None
|
|
98
|
+
pass
|
|
95
99
|
else:
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
datetime64 = None
|
|
100
|
+
try:
|
|
101
|
+
# This does not work on numpy 1.6
|
|
102
|
+
com_null_date64 = datetime64("1899-12-30T00:00:00", "ns")
|
|
103
|
+
except TypeError:
|
|
104
|
+
pass
|
|
@@ -222,9 +222,9 @@ def _make_safearray_type(itemtype):
|
|
|
222
222
|
self._needsfree = True
|
|
223
223
|
return self[0]
|
|
224
224
|
|
|
225
|
-
def __del__(self):
|
|
225
|
+
def __del__(self, _SafeArrayDestroy=_safearray.SafeArrayDestroy):
|
|
226
226
|
if self._needsfree:
|
|
227
|
-
|
|
227
|
+
_SafeArrayDestroy(self)
|
|
228
228
|
|
|
229
229
|
def _get_size(self, dim):
|
|
230
230
|
"Return the number of elements for dimension 'dim'"
|
|
@@ -2,12 +2,15 @@
|
|
|
2
2
|
# libraries.
|
|
3
3
|
import os
|
|
4
4
|
import cStringIO
|
|
5
|
+
import keyword
|
|
5
6
|
from comtypes.tools import typedesc
|
|
6
7
|
import comtypes.client
|
|
7
8
|
import comtypes.client._generate
|
|
8
9
|
|
|
9
10
|
version = "$Rev$"[6:-2]
|
|
10
11
|
|
|
12
|
+
__warn_on_munge__ = __debug__
|
|
13
|
+
|
|
11
14
|
|
|
12
15
|
class lcid(object):
|
|
13
16
|
def __repr__(self):
|
|
@@ -345,6 +348,11 @@ class Generator(object):
|
|
|
345
348
|
_enumvalues = 0
|
|
346
349
|
def EnumValue(self, tp):
|
|
347
350
|
value = int(tp.value)
|
|
351
|
+
if keyword.iskeyword(tp.name):
|
|
352
|
+
# XXX use logging!
|
|
353
|
+
if __warn_on_munge__:
|
|
354
|
+
print "# Fixing keyword as EnumValue for %s" % tp.name
|
|
355
|
+
tp.name += "_"
|
|
348
356
|
print >> self.stream, \
|
|
349
357
|
"%s = %d" % (tp.name, value)
|
|
350
358
|
self.names.add(tp.name)
|
|
@@ -4,6 +4,7 @@
|
|
|
4
4
|
# flags '..\tools\windows.xml -m comtypes -m comtypes.automation -w -r .*TypeLibEx -r .*TypeLib -o typeinfo.py'
|
|
5
5
|
# then hacked manually
|
|
6
6
|
import os
|
|
7
|
+
import sys
|
|
7
8
|
import weakref
|
|
8
9
|
|
|
9
10
|
from ctypes import *
|
|
@@ -31,6 +32,8 @@ from comtypes.automation import WCHAR
|
|
|
31
32
|
from comtypes.automation import WORD
|
|
32
33
|
from comtypes.automation import tagVARIANT
|
|
33
34
|
|
|
35
|
+
is_64_bit = sys.maxsize > 2**32
|
|
36
|
+
|
|
34
37
|
BOOL = c_int
|
|
35
38
|
HREFTYPE = DWORD
|
|
36
39
|
INT = c_int
|
|
@@ -38,7 +41,9 @@ MEMBERID = DISPID
|
|
|
38
41
|
OLECHAR = WCHAR
|
|
39
42
|
PVOID = c_void_p
|
|
40
43
|
SHORT = c_short
|
|
41
|
-
|
|
44
|
+
# See https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751(v=vs.85).aspx#ULONG_PTR # noqa
|
|
45
|
+
ULONG_PTR = c_uint64 if is_64_bit else c_ulong
|
|
46
|
+
|
|
42
47
|
USHORT = c_ushort
|
|
43
48
|
LPOLESTR = POINTER(OLECHAR)
|
|
44
49
|
|
|
@@ -1,52 +1,52 @@
|
|
|
1
|
-
Metadata-Version: 1.1
|
|
2
|
-
Name: comtypes
|
|
3
|
-
Version: 1.1.
|
|
4
|
-
Summary: Pure Python COM package
|
|
5
|
-
Home-page: http://starship.python.net/crew/theller/comtypes
|
|
6
|
-
Author: Thomas Heller
|
|
7
|
-
Author-email: theller@python.net
|
|
8
|
-
License: MIT License
|
|
9
|
-
Download-URL: https://github.com/enthought/comtypes/releases
|
|
10
|
-
Description: comtypes
|
|
11
|
-
========
|
|
12
|
-
|
|
13
|
-
**comtypes** is a lightweight Python COM package, based on the ctypes_
|
|
14
|
-
FFI library, in less than 10000 lines of code (not counting the
|
|
15
|
-
tests).
|
|
16
|
-
|
|
17
|
-
**comtypes** allows to define, call, and implement custom and
|
|
18
|
-
dispatch-based COM interfaces in pure Python. It works on Windows,
|
|
19
|
-
64-bit Windows, and Windows CE.
|
|
20
|
-
|
|
21
|
-
Documentation:
|
|
22
|
-
|
|
23
|
-
https://pythonhosted.org/comtypes
|
|
24
|
-
|
|
25
|
-
Contribute using the `source repository and issue tracker
|
|
26
|
-
<https://github.com/enthought/comtypes/>`_ on GitHub.
|
|
27
|
-
|
|
28
|
-
Mailing list:
|
|
29
|
-
|
|
30
|
-
http://gmane.org/info.php?group=gmane.comp.python.comtypes.user
|
|
31
|
-
|
|
32
|
-
https://lists.sourceforge.net/lists/listinfo/comtypes-users/
|
|
33
|
-
|
|
34
|
-
Download:
|
|
35
|
-
|
|
36
|
-
Releases can be downloaded in the PyPI page:
|
|
37
|
-
|
|
38
|
-
https://pypi.python.org/pypi/comtypes
|
|
39
|
-
|
|
40
|
-
.. _ctypes: http://docs.python.org/lib/module-ctypes.html
|
|
41
|
-
|
|
42
|
-
Platform: UNKNOWN
|
|
43
|
-
Classifier: Development Status :: 5 - Production/Stable
|
|
44
|
-
Classifier: Intended Audience :: Developers
|
|
45
|
-
Classifier: License :: OSI Approved :: MIT License
|
|
46
|
-
Classifier: Operating System :: Microsoft :: Windows
|
|
47
|
-
Classifier: Operating System :: Microsoft :: Windows :: Windows CE
|
|
48
|
-
Classifier: Programming Language :: Python
|
|
49
|
-
Classifier: Programming Language :: Python :: 2.6
|
|
50
|
-
Classifier: Programming Language :: Python :: 2.7
|
|
51
|
-
Classifier: Programming Language :: Python :: 3
|
|
52
|
-
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
1
|
+
Metadata-Version: 1.1
|
|
2
|
+
Name: comtypes
|
|
3
|
+
Version: 1.1.3
|
|
4
|
+
Summary: Pure Python COM package
|
|
5
|
+
Home-page: http://starship.python.net/crew/theller/comtypes
|
|
6
|
+
Author: Thomas Heller
|
|
7
|
+
Author-email: theller@python.net
|
|
8
|
+
License: MIT License
|
|
9
|
+
Download-URL: https://github.com/enthought/comtypes/releases
|
|
10
|
+
Description: comtypes
|
|
11
|
+
========
|
|
12
|
+
|
|
13
|
+
**comtypes** is a lightweight Python COM package, based on the ctypes_
|
|
14
|
+
FFI library, in less than 10000 lines of code (not counting the
|
|
15
|
+
tests).
|
|
16
|
+
|
|
17
|
+
**comtypes** allows to define, call, and implement custom and
|
|
18
|
+
dispatch-based COM interfaces in pure Python. It works on Windows,
|
|
19
|
+
64-bit Windows, and Windows CE.
|
|
20
|
+
|
|
21
|
+
Documentation:
|
|
22
|
+
|
|
23
|
+
https://pythonhosted.org/comtypes
|
|
24
|
+
|
|
25
|
+
Contribute using the `source repository and issue tracker
|
|
26
|
+
<https://github.com/enthought/comtypes/>`_ on GitHub.
|
|
27
|
+
|
|
28
|
+
Mailing list:
|
|
29
|
+
|
|
30
|
+
http://gmane.org/info.php?group=gmane.comp.python.comtypes.user
|
|
31
|
+
|
|
32
|
+
https://lists.sourceforge.net/lists/listinfo/comtypes-users/
|
|
33
|
+
|
|
34
|
+
Download:
|
|
35
|
+
|
|
36
|
+
Releases can be downloaded in the PyPI page:
|
|
37
|
+
|
|
38
|
+
https://pypi.python.org/pypi/comtypes
|
|
39
|
+
|
|
40
|
+
.. _ctypes: http://docs.python.org/lib/module-ctypes.html
|
|
41
|
+
|
|
42
|
+
Platform: UNKNOWN
|
|
43
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
44
|
+
Classifier: Intended Audience :: Developers
|
|
45
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
46
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
47
|
+
Classifier: Operating System :: Microsoft :: Windows :: Windows CE
|
|
48
|
+
Classifier: Programming Language :: Python
|
|
49
|
+
Classifier: Programming Language :: Python :: 2.6
|
|
50
|
+
Classifier: Programming Language :: Python :: 2.7
|
|
51
|
+
Classifier: Programming Language :: Python :: 3
|
|
52
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
[egg_info]
|
|
2
|
-
tag_build =
|
|
3
|
-
tag_date = 0
|
|
4
|
-
tag_svn_revision = 0
|
|
5
|
-
|
|
1
|
+
[egg_info]
|
|
2
|
+
tag_build =
|
|
3
|
+
tag_date = 0
|
|
4
|
+
tag_svn_revision = 0
|
|
5
|
+
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|