Policies
PythonCOM policies are an advanced topic and typically don’t need to be understood to successfully use Python and COM. However, if you need to perform advanced techniques using Python and COM, this information is valuable. You may wish to skip this section and come back to it when the need arises.
A PythonCOM policy determines how Python objects are exposed to COM;
the policy dictates which attributes are exposed to COM and the IDs
these attributes get. The policy actually sits between COM and your
object and is responsible for responding to the
IDispatch
interface’s
GetIDsOfNames()
and
Invoke()
functions. The policy dictates how
these IDispatch
calls are translated into the
references to your Python object.
The default PythonCOM policy is suitable in most cases, and all the examples to date have used the default policy. The policy implemented is:
All methods named in the
_public_methods_
attribute are exposed to COM. Any method not listed in_public_methods_
is considered private.All properties named in the
_public_attrs_
attribute are exposed to COM. If the property name also appears in the attribute_readonly_attrs_
, it can be read, but not written; otherwise, users of this object can change the property.Other special attributes can obtain advanced behavior. You can review the full list of attributes in Table 12.4.
What this means is that the PythonCOM framework itself doesn’t determine how an object is exposed via COM; it’s determined by the policy.
The PythonCOM package ...
Get Python Programming On Win32 now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.