py2docfx 0.1.15rc2025477__py3-none-any.whl → 0.1.16__py3-none-any.whl
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.
- py2docfx/docfx_yaml/process_doctree.py +21 -34
- py2docfx/docfx_yaml/tests/test_method_arguments.py +1 -7
- py2docfx/docfx_yaml/tests/test_process_doctree.py +120 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +7 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +29 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +49 -11
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +168 -51
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +12 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +42 -29
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +22 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +82 -35
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +62 -115
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +15 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +5 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +25 -9
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +26 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +38 -1
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_text.py +129 -0
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +8 -3
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/application.py +51 -17
- py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +18 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +5 -1
- py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -4
- py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +31 -10
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +4 -1
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/filelock.py +62 -0
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +7 -1
- py2docfx/venv/venv1/Lib/site-packages/pyasn1_modules/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_core_metadata.py +21 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +7 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +29 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +49 -11
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
- py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +168 -51
- py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +12 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +42 -29
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/integration/test_pip_install_sdist.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
- py2docfx/venv/venv1/Lib/site-packages/typing_extensions.py +999 -74
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/METADATA +1 -1
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/RECORD +141 -596
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +0 -82
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +0 -283
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +0 -1153
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +0 -723
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +0 -16
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +0 -1547
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +0 -184
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +0 -879
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +0 -195
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +0 -30
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +0 -420
- py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +0 -213
- py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +0 -39
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +0 -809
- py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +0 -218
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +0 -116
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +0 -162
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +0 -195
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +0 -191
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +0 -27
- py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +0 -154
- py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +0 -236
- py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +0 -569
- py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +0 -258
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +0 -183
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +0 -51
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +0 -71
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +0 -138
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +0 -159
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +0 -132
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +0 -243
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +0 -415
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +0 -76
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +0 -189
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +0 -133
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -31
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +0 -1097
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +0 -136
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +0 -146
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -155
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +0 -242
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -676
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +0 -411
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +0 -168
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +0 -188
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +0 -76
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +0 -235
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +0 -105
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +0 -646
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +0 -299
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -379
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +0 -511
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +0 -104
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +0 -173
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +0 -995
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +0 -552
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +0 -65
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +0 -684
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +0 -749
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +0 -172
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -279
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +0 -589
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +0 -536
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +0 -216
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +0 -87
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +0 -585
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +0 -501
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +0 -277
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +0 -151
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +0 -50
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +0 -593
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +0 -180
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +0 -363
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +0 -291
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +0 -565
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +0 -312
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +0 -511
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +0 -704
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +0 -190
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +0 -3083
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +0 -841
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +0 -79
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +0 -323
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +0 -494
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +0 -353
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +0 -382
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +0 -80
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +0 -28
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +0 -32
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +0 -43
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +0 -127
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +0 -71
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +0 -210
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +0 -42
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +0 -246
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +0 -143
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +0 -33
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +0 -101
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +0 -17
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +0 -114
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +0 -110
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -170
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -39
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +0 -12
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +0 -61
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +0 -336
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +0 -131
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -131
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -102
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +0 -158
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +0 -199
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +0 -63
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +0 -158
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +0 -72
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +0 -155
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +0 -117
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +0 -174
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +0 -132
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +0 -82
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +0 -41
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +0 -177
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -106
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +0 -445
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +0 -464
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +0 -136
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +0 -272
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +0 -86
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +0 -23
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +0 -25
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +0 -123
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +0 -100
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +0 -230
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +0 -164
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +0 -1551
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +0 -956
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +0 -293
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +0 -731
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +0 -291
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +0 -124
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +0 -40
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +0 -161
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +0 -395
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +0 -413
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +0 -477
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +0 -14
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +0 -5064
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +0 -1922
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +0 -225
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +0 -957
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +0 -1086
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +0 -627
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +0 -570
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +0 -212
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +0 -674
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +0 -1073
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +0 -1201
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +0 -235
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +0 -7362
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +0 -1079
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +0 -1347
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +0 -236
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +0 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +0 -594
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +0 -97
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +0 -156
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +0 -201
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +0 -46
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +0 -194
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +0 -62
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +0 -733
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +0 -120
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +0 -607
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +0 -111
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +0 -175
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +0 -137
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +0 -213
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +0 -264
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +0 -111
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +0 -166
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +0 -273
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -91
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +0 -144
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +0 -1096
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -227
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +0 -333
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +0 -108
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -23
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +0 -148
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +0 -16
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +0 -366
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +0 -174
- py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +0 -223
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +0 -134
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +0 -717
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +0 -771
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +0 -604
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +0 -699
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +0 -825
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +0 -1350
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +0 -453
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +0 -182
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +0 -277
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +0 -103
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +0 -96
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +0 -92
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +0 -169
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +0 -434
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -214
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +0 -368
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +0 -135
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +0 -78
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +0 -618
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +0 -331
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +0 -1017
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +0 -70
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +0 -85
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +0 -239
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +0 -99
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +0 -26
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +0 -53
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +0 -803
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +0 -677
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +0 -47
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +0 -133
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +0 -59
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +0 -36
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -181
- py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +0 -142
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +0 -95
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +0 -88
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +0 -243
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +0 -96
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +0 -115
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +0 -100
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +0 -44
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +0 -99
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +0 -169
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +0 -159
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +0 -50
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +0 -74
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +0 -101
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +0 -121
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +0 -139
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +0 -142
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +0 -149
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +0 -140
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +0 -184
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +0 -138
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +0 -160
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +0 -227
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +0 -80
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +0 -918
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +0 -29
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +0 -51
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +0 -272
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +0 -88
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +0 -147
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +0 -18
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +0 -320
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +0 -583
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +0 -40
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +0 -34
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +0 -262
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +0 -224
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +0 -35
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +0 -113
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +0 -340
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +0 -565
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -151
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +0 -274
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +0 -229
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -219
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +0 -467
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +0 -279
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +0 -58
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +0 -238
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +0 -135
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +0 -57
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +0 -212
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +0 -583
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +0 -178
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +0 -13
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +0 -223
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +0 -262
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +0 -1291
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -78
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +0 -438
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +0 -54
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +0 -103
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +0 -145
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +0 -185
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +0 -240
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +0 -48
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +0 -119
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +0 -60
- py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +0 -402
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +0 -300
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +0 -110
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +0 -261
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +0 -98
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +0 -875
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +0 -1023
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +0 -211
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +0 -838
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +0 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +0 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +0 -83
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +0 -179
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +0 -67
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +0 -93
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +0 -56
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +0 -45
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +0 -73
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +0 -58
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +0 -143
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -125
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +0 -122
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +0 -84
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +0 -188
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +0 -866
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +0 -81
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +0 -971
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +0 -19
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +0 -24
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +0 -1615
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +0 -75
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +0 -21
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +0 -69
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +0 -6
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +0 -66
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +0 -68
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -49
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +0 -3
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +0 -733
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +0 -120
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.15rc2025477.dist-info → py2docfx-0.1.16.dist-info}/top_level.txt +0 -0
@@ -1,277 +0,0 @@
|
|
1
|
-
import commctrl
|
2
|
-
import pythoncom
|
3
|
-
import win32api
|
4
|
-
import win32con
|
5
|
-
import win32ui
|
6
|
-
from pywin.mfc import dialog
|
7
|
-
|
8
|
-
|
9
|
-
class TLBrowserException(Exception):
|
10
|
-
"TypeLib browser internal error"
|
11
|
-
|
12
|
-
|
13
|
-
error = TLBrowserException # Re-exported alias
|
14
|
-
|
15
|
-
FRAMEDLG_STD = win32con.WS_CAPTION | win32con.WS_SYSMENU
|
16
|
-
SS_STD = win32con.WS_CHILD | win32con.WS_VISIBLE
|
17
|
-
BS_STD = SS_STD | win32con.WS_TABSTOP
|
18
|
-
ES_STD = BS_STD | win32con.WS_BORDER
|
19
|
-
LBS_STD = (
|
20
|
-
ES_STD | win32con.LBS_NOTIFY | win32con.LBS_NOINTEGRALHEIGHT | win32con.WS_VSCROLL
|
21
|
-
)
|
22
|
-
CBS_STD = ES_STD | win32con.CBS_NOINTEGRALHEIGHT | win32con.WS_VSCROLL
|
23
|
-
|
24
|
-
typekindmap = {
|
25
|
-
pythoncom.TKIND_ENUM: "Enumeration",
|
26
|
-
pythoncom.TKIND_RECORD: "Record",
|
27
|
-
pythoncom.TKIND_MODULE: "Module",
|
28
|
-
pythoncom.TKIND_INTERFACE: "Interface",
|
29
|
-
pythoncom.TKIND_DISPATCH: "Dispatch",
|
30
|
-
pythoncom.TKIND_COCLASS: "CoClass",
|
31
|
-
pythoncom.TKIND_ALIAS: "Alias",
|
32
|
-
pythoncom.TKIND_UNION: "Union",
|
33
|
-
}
|
34
|
-
|
35
|
-
TypeBrowseDialog_Parent = dialog.Dialog
|
36
|
-
|
37
|
-
|
38
|
-
class TypeBrowseDialog(TypeBrowseDialog_Parent):
|
39
|
-
"Browse a type library"
|
40
|
-
|
41
|
-
IDC_TYPELIST = 1000
|
42
|
-
IDC_MEMBERLIST = 1001
|
43
|
-
IDC_PARAMLIST = 1002
|
44
|
-
IDC_LISTVIEW = 1003
|
45
|
-
|
46
|
-
def __init__(self, typefile=None):
|
47
|
-
TypeBrowseDialog_Parent.__init__(self, self.GetTemplate())
|
48
|
-
try:
|
49
|
-
if typefile:
|
50
|
-
self.tlb = pythoncom.LoadTypeLib(typefile)
|
51
|
-
else:
|
52
|
-
self.tlb = None
|
53
|
-
except pythoncom.ole_error:
|
54
|
-
self.MessageBox("The file does not contain type information")
|
55
|
-
self.tlb = None
|
56
|
-
self.HookCommand(self.CmdTypeListbox, self.IDC_TYPELIST)
|
57
|
-
self.HookCommand(self.CmdMemberListbox, self.IDC_MEMBERLIST)
|
58
|
-
|
59
|
-
def OnAttachedObjectDeath(self):
|
60
|
-
self.tlb = None
|
61
|
-
self.typeinfo = None
|
62
|
-
self.attr = None
|
63
|
-
return TypeBrowseDialog_Parent.OnAttachedObjectDeath(self)
|
64
|
-
|
65
|
-
def _SetupMenu(self):
|
66
|
-
menu = win32ui.CreateMenu()
|
67
|
-
flags = win32con.MF_STRING | win32con.MF_ENABLED
|
68
|
-
menu.AppendMenu(flags, win32ui.ID_FILE_OPEN, "&Open...")
|
69
|
-
menu.AppendMenu(flags, win32con.IDCANCEL, "&Close")
|
70
|
-
mainMenu = win32ui.CreateMenu()
|
71
|
-
mainMenu.AppendMenu(flags | win32con.MF_POPUP, menu.GetHandle(), "&File")
|
72
|
-
self.SetMenu(mainMenu)
|
73
|
-
self.HookCommand(self.OnFileOpen, win32ui.ID_FILE_OPEN)
|
74
|
-
|
75
|
-
def OnFileOpen(self, id, code):
|
76
|
-
openFlags = win32con.OFN_OVERWRITEPROMPT | win32con.OFN_FILEMUSTEXIST
|
77
|
-
fspec = "Type Libraries (*.tlb, *.olb)|*.tlb;*.olb|OCX Files (*.ocx)|*.ocx|DLL's (*.dll)|*.dll|All Files (*.*)|*.*||"
|
78
|
-
dlg = win32ui.CreateFileDialog(1, None, None, openFlags, fspec)
|
79
|
-
if dlg.DoModal() == win32con.IDOK:
|
80
|
-
try:
|
81
|
-
self.tlb = pythoncom.LoadTypeLib(dlg.GetPathName())
|
82
|
-
except pythoncom.ole_error:
|
83
|
-
self.MessageBox("The file does not contain type information")
|
84
|
-
self.tlb = None
|
85
|
-
self._SetupTLB()
|
86
|
-
|
87
|
-
def OnInitDialog(self):
|
88
|
-
self._SetupMenu()
|
89
|
-
self.typelb = self.GetDlgItem(self.IDC_TYPELIST)
|
90
|
-
self.memberlb = self.GetDlgItem(self.IDC_MEMBERLIST)
|
91
|
-
self.paramlb = self.GetDlgItem(self.IDC_PARAMLIST)
|
92
|
-
self.listview = self.GetDlgItem(self.IDC_LISTVIEW)
|
93
|
-
|
94
|
-
# Setup the listview columns
|
95
|
-
itemDetails = (commctrl.LVCFMT_LEFT, 100, "Item", 0)
|
96
|
-
self.listview.InsertColumn(0, itemDetails)
|
97
|
-
itemDetails = (commctrl.LVCFMT_LEFT, 1024, "Details", 0)
|
98
|
-
self.listview.InsertColumn(1, itemDetails)
|
99
|
-
|
100
|
-
if self.tlb is None:
|
101
|
-
self.OnFileOpen(None, None)
|
102
|
-
else:
|
103
|
-
self._SetupTLB()
|
104
|
-
return TypeBrowseDialog_Parent.OnInitDialog(self)
|
105
|
-
|
106
|
-
def _SetupTLB(self):
|
107
|
-
self.typelb.ResetContent()
|
108
|
-
self.memberlb.ResetContent()
|
109
|
-
self.paramlb.ResetContent()
|
110
|
-
self.typeinfo = None
|
111
|
-
self.attr = None
|
112
|
-
if self.tlb is None:
|
113
|
-
return
|
114
|
-
n = self.tlb.GetTypeInfoCount()
|
115
|
-
for i in range(n):
|
116
|
-
self.typelb.AddString(self.tlb.GetDocumentation(i)[0])
|
117
|
-
|
118
|
-
def _SetListviewTextItems(self, items):
|
119
|
-
self.listview.DeleteAllItems()
|
120
|
-
index = -1
|
121
|
-
for item in items:
|
122
|
-
index = self.listview.InsertItem(index + 1, item[0])
|
123
|
-
data = item[1]
|
124
|
-
if data is None:
|
125
|
-
data = ""
|
126
|
-
self.listview.SetItemText(index, 1, data)
|
127
|
-
|
128
|
-
def SetupAllInfoTypes(self):
|
129
|
-
infos = self._GetMainInfoTypes() + self._GetMethodInfoTypes()
|
130
|
-
self._SetListviewTextItems(infos)
|
131
|
-
|
132
|
-
def _GetMainInfoTypes(self):
|
133
|
-
pos = self.typelb.GetCurSel()
|
134
|
-
if pos < 0:
|
135
|
-
return []
|
136
|
-
docinfo = self.tlb.GetDocumentation(pos)
|
137
|
-
infos = [("GUID", str(self.attr[0]))]
|
138
|
-
infos.append(("Help File", docinfo[3]))
|
139
|
-
infos.append(("Help Context", str(docinfo[2])))
|
140
|
-
try:
|
141
|
-
infos.append(("Type Kind", typekindmap[self.tlb.GetTypeInfoType(pos)]))
|
142
|
-
except:
|
143
|
-
pass
|
144
|
-
|
145
|
-
info = self.tlb.GetTypeInfo(pos)
|
146
|
-
attr = info.GetTypeAttr()
|
147
|
-
infos.append(("Attributes", str(attr)))
|
148
|
-
|
149
|
-
for j in range(attr[8]):
|
150
|
-
flags = info.GetImplTypeFlags(j)
|
151
|
-
refInfo = info.GetRefTypeInfo(info.GetRefTypeOfImplType(j))
|
152
|
-
doc = refInfo.GetDocumentation(-1)
|
153
|
-
attr = refInfo.GetTypeAttr()
|
154
|
-
typeKind = attr[5]
|
155
|
-
typeFlags = attr[11]
|
156
|
-
|
157
|
-
desc = doc[0]
|
158
|
-
desc += ", Flags=0x{:x}, typeKind=0x{:x}, typeFlags=0x{:x}".format(
|
159
|
-
flags, typeKind, typeFlags
|
160
|
-
)
|
161
|
-
if flags & pythoncom.IMPLTYPEFLAG_FSOURCE:
|
162
|
-
desc += "(Source)"
|
163
|
-
infos.append(("Implements", desc))
|
164
|
-
|
165
|
-
return infos
|
166
|
-
|
167
|
-
def _GetMethodInfoTypes(self):
|
168
|
-
pos = self.memberlb.GetCurSel()
|
169
|
-
if pos < 0:
|
170
|
-
return []
|
171
|
-
|
172
|
-
realPos, isMethod = self._GetRealMemberPos(pos)
|
173
|
-
ret = []
|
174
|
-
if isMethod:
|
175
|
-
funcDesc = self.typeinfo.GetFuncDesc(realPos)
|
176
|
-
id = funcDesc[0]
|
177
|
-
ret.append(("Func Desc", str(funcDesc)))
|
178
|
-
else:
|
179
|
-
id = self.typeinfo.GetVarDesc(realPos)[0]
|
180
|
-
|
181
|
-
docinfo = self.typeinfo.GetDocumentation(id)
|
182
|
-
ret.append(("Help String", docinfo[1]))
|
183
|
-
ret.append(("Help Context", str(docinfo[2])))
|
184
|
-
return ret
|
185
|
-
|
186
|
-
def CmdTypeListbox(self, id, code):
|
187
|
-
if code == win32con.LBN_SELCHANGE:
|
188
|
-
pos = self.typelb.GetCurSel()
|
189
|
-
if pos >= 0:
|
190
|
-
self.memberlb.ResetContent()
|
191
|
-
self.typeinfo = self.tlb.GetTypeInfo(pos)
|
192
|
-
self.attr = self.typeinfo.GetTypeAttr()
|
193
|
-
for i in range(self.attr[7]):
|
194
|
-
id = self.typeinfo.GetVarDesc(i)[0]
|
195
|
-
self.memberlb.AddString(self.typeinfo.GetNames(id)[0])
|
196
|
-
for i in range(self.attr[6]):
|
197
|
-
id = self.typeinfo.GetFuncDesc(i)[0]
|
198
|
-
self.memberlb.AddString(self.typeinfo.GetNames(id)[0])
|
199
|
-
self.SetupAllInfoTypes()
|
200
|
-
return 1
|
201
|
-
|
202
|
-
def _GetRealMemberPos(self, pos):
|
203
|
-
pos = self.memberlb.GetCurSel()
|
204
|
-
if pos >= self.attr[7]:
|
205
|
-
return pos - self.attr[7], 1
|
206
|
-
elif pos >= 0:
|
207
|
-
return pos, 0
|
208
|
-
else:
|
209
|
-
raise error("The position is not valid")
|
210
|
-
|
211
|
-
def CmdMemberListbox(self, id, code):
|
212
|
-
if code == win32con.LBN_SELCHANGE:
|
213
|
-
self.paramlb.ResetContent()
|
214
|
-
pos = self.memberlb.GetCurSel()
|
215
|
-
realPos, isMethod = self._GetRealMemberPos(pos)
|
216
|
-
if isMethod:
|
217
|
-
id = self.typeinfo.GetFuncDesc(realPos)[0]
|
218
|
-
names = self.typeinfo.GetNames(id)
|
219
|
-
for i in range(len(names)):
|
220
|
-
if i > 0:
|
221
|
-
self.paramlb.AddString(names[i])
|
222
|
-
self.SetupAllInfoTypes()
|
223
|
-
return 1
|
224
|
-
|
225
|
-
def GetTemplate(self):
|
226
|
-
"Return the template used to create this dialog"
|
227
|
-
|
228
|
-
w = 272 # Dialog width
|
229
|
-
h = 192 # Dialog height
|
230
|
-
style = (
|
231
|
-
FRAMEDLG_STD
|
232
|
-
| win32con.WS_VISIBLE
|
233
|
-
| win32con.DS_SETFONT
|
234
|
-
| win32con.WS_MINIMIZEBOX
|
235
|
-
)
|
236
|
-
template = [
|
237
|
-
["Type Library Browser", (0, 0, w, h), style, None, (8, "Helv")],
|
238
|
-
]
|
239
|
-
template.append([130, "&Type", -1, (10, 10, 62, 9), SS_STD | win32con.SS_LEFT])
|
240
|
-
template.append([131, None, self.IDC_TYPELIST, (10, 20, 80, 80), LBS_STD])
|
241
|
-
template.append(
|
242
|
-
[130, "&Members", -1, (100, 10, 62, 9), SS_STD | win32con.SS_LEFT]
|
243
|
-
)
|
244
|
-
template.append([131, None, self.IDC_MEMBERLIST, (100, 20, 80, 80), LBS_STD])
|
245
|
-
template.append(
|
246
|
-
[130, "&Parameters", -1, (190, 10, 62, 9), SS_STD | win32con.SS_LEFT]
|
247
|
-
)
|
248
|
-
template.append([131, None, self.IDC_PARAMLIST, (190, 20, 75, 80), LBS_STD])
|
249
|
-
|
250
|
-
lvStyle = (
|
251
|
-
SS_STD
|
252
|
-
| commctrl.LVS_REPORT
|
253
|
-
| commctrl.LVS_AUTOARRANGE
|
254
|
-
| commctrl.LVS_ALIGNLEFT
|
255
|
-
| win32con.WS_BORDER
|
256
|
-
| win32con.WS_TABSTOP
|
257
|
-
)
|
258
|
-
template.append(
|
259
|
-
["SysListView32", "", self.IDC_LISTVIEW, (10, 110, 255, 65), lvStyle]
|
260
|
-
)
|
261
|
-
|
262
|
-
return template
|
263
|
-
|
264
|
-
|
265
|
-
if __name__ == "__main__":
|
266
|
-
import sys
|
267
|
-
|
268
|
-
fname = None
|
269
|
-
try:
|
270
|
-
fname = sys.argv[1]
|
271
|
-
except:
|
272
|
-
pass
|
273
|
-
dlg = TypeBrowseDialog(fname)
|
274
|
-
if win32api.GetConsoleTitle(): # empty string w/o console
|
275
|
-
dlg.DoModal()
|
276
|
-
else:
|
277
|
-
dlg.CreateWindow(win32ui.GetMainFrame())
|
@@ -1,103 +0,0 @@
|
|
1
|
-
"""General client side utilities.
|
2
|
-
|
3
|
-
This module contains utility functions, used primarily by advanced COM
|
4
|
-
programmers, or other COM modules.
|
5
|
-
"""
|
6
|
-
|
7
|
-
import pythoncom
|
8
|
-
from win32com.client import _get_good_object_
|
9
|
-
|
10
|
-
PyIDispatchType = pythoncom.TypeIIDs[pythoncom.IID_IDispatch]
|
11
|
-
|
12
|
-
|
13
|
-
def WrapEnum(ob, resultCLSID=None):
|
14
|
-
"""Wrap an object in a VARIANT enumerator.
|
15
|
-
|
16
|
-
All VT_DISPATCHs returned by the enumerator are converted to wrapper objects
|
17
|
-
(which may be either a class instance, or a dynamic.Dispatch type object).
|
18
|
-
|
19
|
-
"""
|
20
|
-
if not isinstance(ob, pythoncom.TypeIIDs[pythoncom.IID_IEnumVARIANT]):
|
21
|
-
ob = ob.QueryInterface(pythoncom.IID_IEnumVARIANT)
|
22
|
-
return EnumVARIANT(ob, resultCLSID)
|
23
|
-
|
24
|
-
|
25
|
-
class Enumerator:
|
26
|
-
"""A class that provides indexed access into an Enumerator
|
27
|
-
|
28
|
-
By wrapping a PyIEnum* object in this class, you can perform
|
29
|
-
natural looping and indexing into the Enumerator.
|
30
|
-
|
31
|
-
Looping is very efficient, but it should be noted that although random
|
32
|
-
access is supported, the underlying object is still an enumerator, so
|
33
|
-
this will force many reset-and-seek operations to find the requested index.
|
34
|
-
|
35
|
-
"""
|
36
|
-
|
37
|
-
def __init__(self, enum):
|
38
|
-
self._oleobj_ = enum # a PyIEnumVARIANT
|
39
|
-
self.index = -1
|
40
|
-
|
41
|
-
def __getitem__(self, index):
|
42
|
-
return self.__GetIndex(index)
|
43
|
-
|
44
|
-
def __call__(self, index):
|
45
|
-
return self.__GetIndex(index)
|
46
|
-
|
47
|
-
def __GetIndex(self, index):
|
48
|
-
if not isinstance(index, int):
|
49
|
-
raise TypeError("Only integer indexes are supported for enumerators")
|
50
|
-
# NOTE
|
51
|
-
# In this context, self.index is users purely as a flag to say
|
52
|
-
# "am I still in sequence". The user may call Next() or Reset() if they
|
53
|
-
# so choose, in which case self.index will not be correct (although we
|
54
|
-
# still want to stay in sequence)
|
55
|
-
if index != self.index + 1:
|
56
|
-
# Index requested out of sequence.
|
57
|
-
self._oleobj_.Reset()
|
58
|
-
if index:
|
59
|
-
self._oleobj_.Skip(
|
60
|
-
index
|
61
|
-
) # if asked for item 1, must skip 1, Python always zero based.
|
62
|
-
self.index = index
|
63
|
-
result = self._oleobj_.Next(1)
|
64
|
-
if len(result):
|
65
|
-
return self._make_retval_(result[0])
|
66
|
-
raise IndexError("list index out of range")
|
67
|
-
|
68
|
-
def Next(self, count=1):
|
69
|
-
ret = self._oleobj_.Next(count)
|
70
|
-
realRets = []
|
71
|
-
for r in ret:
|
72
|
-
realRets.append(self._make_retval_(r))
|
73
|
-
return tuple(realRets) # Convert back to tuple.
|
74
|
-
|
75
|
-
def Reset(self):
|
76
|
-
return self._oleobj_.Reset()
|
77
|
-
|
78
|
-
def Clone(self):
|
79
|
-
return self.__class__(self._oleobj_.Clone(), self.resultCLSID)
|
80
|
-
|
81
|
-
def _make_retval_(self, result):
|
82
|
-
return result
|
83
|
-
|
84
|
-
|
85
|
-
class EnumVARIANT(Enumerator):
|
86
|
-
def __init__(self, enum, resultCLSID=None):
|
87
|
-
self.resultCLSID = resultCLSID
|
88
|
-
Enumerator.__init__(self, enum)
|
89
|
-
|
90
|
-
def _make_retval_(self, result):
|
91
|
-
return _get_good_object_(result, resultCLSID=self.resultCLSID)
|
92
|
-
|
93
|
-
|
94
|
-
class Iterator:
|
95
|
-
def __init__(self, enum, resultCLSID=None):
|
96
|
-
self.resultCLSID = resultCLSID
|
97
|
-
self._iter_ = iter(enum.QueryInterface(pythoncom.IID_IEnumVARIANT))
|
98
|
-
|
99
|
-
def __iter__(self):
|
100
|
-
return self
|
101
|
-
|
102
|
-
def __next__(self):
|
103
|
-
return _get_good_object_(next(self._iter_), resultCLSID=self.resultCLSID)
|
File without changes
|
@@ -1,96 +0,0 @@
|
|
1
|
-
# Implements _both_ a connectable client, and a connectable server.
|
2
|
-
#
|
3
|
-
# Note that we cheat just a little - the Server in this demo is not created
|
4
|
-
# via Normal COM - this means we can avoid registering the server.
|
5
|
-
# However, the server _is_ accessed as a COM object - just the creation
|
6
|
-
# is cheated on - so this is still working as a fully-fledged server.
|
7
|
-
|
8
|
-
import pythoncom
|
9
|
-
import win32com.server.connect
|
10
|
-
import win32com.server.util
|
11
|
-
|
12
|
-
# This is the IID of the Events interface both Client and Server support.
|
13
|
-
IID_IConnectDemoEvents = pythoncom.MakeIID("{A4988850-49C3-11d0-AE5D-52342E000000}")
|
14
|
-
|
15
|
-
# The server which implements
|
16
|
-
# Create a connectable class, that has a single public method
|
17
|
-
# 'DoIt', which echos to a single sink 'DoneIt'
|
18
|
-
|
19
|
-
|
20
|
-
class ConnectableServer(win32com.server.connect.ConnectableServer):
|
21
|
-
_public_methods_ = [
|
22
|
-
"DoIt"
|
23
|
-
] + win32com.server.connect.ConnectableServer._public_methods_
|
24
|
-
_connect_interfaces_ = [IID_IConnectDemoEvents]
|
25
|
-
|
26
|
-
# The single public method that the client can call on us
|
27
|
-
# (ie, as a normal COM server, this exposes just this single method.
|
28
|
-
def DoIt(self, arg):
|
29
|
-
# Simply broadcast a notification.
|
30
|
-
self._BroadcastNotify(self.NotifyDoneIt, (arg,))
|
31
|
-
|
32
|
-
def NotifyDoneIt(self, interface, arg):
|
33
|
-
interface.Invoke(1000, 0, pythoncom.DISPATCH_METHOD, 1, arg)
|
34
|
-
|
35
|
-
|
36
|
-
# Here is the client side of the connection world.
|
37
|
-
# Define a COM object which implements the methods defined by the
|
38
|
-
# IConnectDemoEvents interface.
|
39
|
-
class ConnectableClient:
|
40
|
-
# This is another cheat - I _know_ the server defines the "DoneIt" event
|
41
|
-
# as DISPID==1000 - I also know from the implementation details of COM
|
42
|
-
# that the first method in _public_methods_ gets 1000.
|
43
|
-
# Normally some explicit DISPID->Method mapping is required.
|
44
|
-
_public_methods_ = ["OnDoneIt"]
|
45
|
-
|
46
|
-
def __init__(self):
|
47
|
-
self.last_event_arg = None
|
48
|
-
|
49
|
-
# A client must implement QI, and respond to a query for the Event interface.
|
50
|
-
# In addition, it must provide a COM object (which server.util.wrap) does.
|
51
|
-
def _query_interface_(self, iid):
|
52
|
-
# Note that this seems like a necessary hack. I am responding to IID_IConnectDemoEvents
|
53
|
-
# but only creating an IDispatch gateway object.
|
54
|
-
if iid == IID_IConnectDemoEvents:
|
55
|
-
return win32com.server.util.wrap(self)
|
56
|
-
|
57
|
-
# And here is our event method which gets called.
|
58
|
-
def OnDoneIt(self, arg):
|
59
|
-
self.last_event_arg = arg
|
60
|
-
|
61
|
-
|
62
|
-
def CheckEvent(server, client, val, verbose):
|
63
|
-
client.last_event_arg = None
|
64
|
-
server.DoIt(val)
|
65
|
-
if client.last_event_arg != val:
|
66
|
-
raise RuntimeError(f"Sent {val!r}, but got back {client.last_event_arg!r}")
|
67
|
-
if verbose:
|
68
|
-
print("Sent and received %r" % val)
|
69
|
-
|
70
|
-
|
71
|
-
# A simple test script for all this.
|
72
|
-
# In the real world, it is likely that the code controlling the server
|
73
|
-
# will be in the same class as that getting the notifications.
|
74
|
-
def test(verbose=0):
|
75
|
-
import win32com.client.connect
|
76
|
-
import win32com.client.dynamic
|
77
|
-
import win32com.server.policy
|
78
|
-
|
79
|
-
server = win32com.client.dynamic.Dispatch(
|
80
|
-
win32com.server.util.wrap(ConnectableServer())
|
81
|
-
)
|
82
|
-
connection = win32com.client.connect.SimpleConnection()
|
83
|
-
client = ConnectableClient()
|
84
|
-
connection.Connect(server, client, IID_IConnectDemoEvents)
|
85
|
-
CheckEvent(server, client, "Hello", verbose)
|
86
|
-
CheckEvent(server, client, b"Here is a null>\x00<", verbose)
|
87
|
-
CheckEvent(server, client, "Here is a null>\x00<", verbose)
|
88
|
-
val = "test-\xe0\xf2" # 2 extended characters.
|
89
|
-
CheckEvent(server, client, val, verbose)
|
90
|
-
if verbose:
|
91
|
-
print("Everything seemed to work!")
|
92
|
-
# Aggressive memory leak checking (ie, do nothing!) :-) All should cleanup OK???
|
93
|
-
|
94
|
-
|
95
|
-
if __name__ == "__main__":
|
96
|
-
test(1)
|
@@ -1,74 +0,0 @@
|
|
1
|
-
import pythoncom
|
2
|
-
import win32con
|
3
|
-
|
4
|
-
formats = """CF_TEXT CF_BITMAP CF_METAFILEPICT CF_SYLK CF_DIF CF_TIFF
|
5
|
-
CF_OEMTEXT CF_DIB CF_PALETTE CF_PENDATA CF_RIFF CF_WAVE
|
6
|
-
CF_UNICODETEXT CF_ENHMETAFILE CF_HDROP CF_LOCALE CF_MAX
|
7
|
-
CF_OWNERDISPLAY CF_DSPTEXT CF_DSPBITMAP CF_DSPMETAFILEPICT
|
8
|
-
CF_DSPENHMETAFILE""".split()
|
9
|
-
format_name_map = {}
|
10
|
-
for f in formats:
|
11
|
-
val = getattr(win32con, f)
|
12
|
-
format_name_map[val] = f
|
13
|
-
|
14
|
-
tymeds = [attr for attr in pythoncom.__dict__ if attr.startswith("TYMED_")]
|
15
|
-
|
16
|
-
|
17
|
-
def DumpClipboard():
|
18
|
-
do = pythoncom.OleGetClipboard()
|
19
|
-
print("Dumping all clipboard formats...")
|
20
|
-
for fe in do.EnumFormatEtc():
|
21
|
-
fmt, td, aspect, index, tymed = fe
|
22
|
-
tymeds_this = [
|
23
|
-
getattr(pythoncom, t) for t in tymeds if tymed & getattr(pythoncom, t)
|
24
|
-
]
|
25
|
-
print("Clipboard format", format_name_map.get(fmt, str(fmt)))
|
26
|
-
for t_this in tymeds_this:
|
27
|
-
# As we are enumerating there should be no need to call
|
28
|
-
# QueryGetData, but we do anyway!
|
29
|
-
fetc_query = fmt, td, aspect, index, t_this
|
30
|
-
try:
|
31
|
-
do.QueryGetData(fetc_query)
|
32
|
-
except pythoncom.com_error:
|
33
|
-
print("Eeek - QGD indicated failure for tymed", t_this)
|
34
|
-
# now actually get it.
|
35
|
-
try:
|
36
|
-
medium = do.GetData(fetc_query)
|
37
|
-
except pythoncom.com_error as exc:
|
38
|
-
print("Failed to get the clipboard data:", exc)
|
39
|
-
continue
|
40
|
-
if medium.tymed == pythoncom.TYMED_GDI:
|
41
|
-
data = "GDI handle %d" % medium.data
|
42
|
-
elif medium.tymed == pythoncom.TYMED_MFPICT:
|
43
|
-
data = "METAFILE handle %d" % medium.data
|
44
|
-
elif medium.tymed == pythoncom.TYMED_ENHMF:
|
45
|
-
data = "ENHMETAFILE handle %d" % medium.data
|
46
|
-
elif medium.tymed == pythoncom.TYMED_HGLOBAL:
|
47
|
-
data = "%d bytes via HGLOBAL" % len(medium.data)
|
48
|
-
elif medium.tymed == pythoncom.TYMED_FILE:
|
49
|
-
data = "filename '%s'" % data
|
50
|
-
elif medium.tymed == pythoncom.TYMED_ISTREAM:
|
51
|
-
stream = medium.data
|
52
|
-
stream.Seek(0, 0)
|
53
|
-
bytes = 0
|
54
|
-
while 1:
|
55
|
-
chunk = stream.Read(4096)
|
56
|
-
if not chunk:
|
57
|
-
break
|
58
|
-
bytes += len(chunk)
|
59
|
-
data = "%d bytes via IStream" % bytes
|
60
|
-
elif medium.tymed == pythoncom.TYMED_ISTORAGE:
|
61
|
-
data = "a IStorage"
|
62
|
-
else:
|
63
|
-
data = "*** unknown tymed!"
|
64
|
-
print(" -> got", data)
|
65
|
-
do = None
|
66
|
-
|
67
|
-
|
68
|
-
if __name__ == "__main__":
|
69
|
-
DumpClipboard()
|
70
|
-
if pythoncom._GetInterfaceCount() + pythoncom._GetGatewayCount():
|
71
|
-
print(
|
72
|
-
"XXX - Leaving with %d/%d COM objects alive"
|
73
|
-
% (pythoncom._GetInterfaceCount(), pythoncom._GetGatewayCount())
|
74
|
-
)
|
@@ -1,98 +0,0 @@
|
|
1
|
-
# A sample originally provided by Richard Bell, and modified by Mark Hammond.
|
2
|
-
|
3
|
-
# This sample demonstrates how to use COM events in an aparment-threaded
|
4
|
-
# world. In this world, COM itself ensures that all calls to and events
|
5
|
-
# from an object happen on the same thread that created the object, even
|
6
|
-
# if they originated from different threads. For this cross-thread
|
7
|
-
# marshalling to work, this main thread *must* run a "message-loop" (ie,
|
8
|
-
# a loop fetching and dispatching Windows messages). Without such message
|
9
|
-
# processing, dead-locks can occur.
|
10
|
-
|
11
|
-
# See also eventsFreeThreaded.py for how to do this in a free-threaded
|
12
|
-
# world where these marshalling considerations do not exist.
|
13
|
-
|
14
|
-
# NOTE: This example uses Internet Explorer, but it should not be considerd
|
15
|
-
# a "best-practices" for writing against IE events, but for working with
|
16
|
-
# events in general. For example:
|
17
|
-
# * The first OnDocumentComplete event is not a reliable indicator that the
|
18
|
-
# URL has completed loading
|
19
|
-
# * As we are demonstrating the most efficient way of handling events, when
|
20
|
-
# running this sample you will see an IE Windows briefly appear, but
|
21
|
-
# vanish without ever being repainted.
|
22
|
-
|
23
|
-
import time
|
24
|
-
|
25
|
-
# sys.coinit_flags not set, so pythoncom initializes apartment-threaded.
|
26
|
-
import pythoncom
|
27
|
-
import win32api
|
28
|
-
import win32com.client
|
29
|
-
import win32event
|
30
|
-
|
31
|
-
|
32
|
-
class ExplorerEvents:
|
33
|
-
def __init__(self):
|
34
|
-
self.event = win32event.CreateEvent(None, 0, 0, None)
|
35
|
-
|
36
|
-
def OnDocumentComplete(self, pDisp=pythoncom.Empty, URL=pythoncom.Empty):
|
37
|
-
thread = win32api.GetCurrentThreadId()
|
38
|
-
print("OnDocumentComplete event processed on thread %d" % thread)
|
39
|
-
# Set the event our main thread is waiting on.
|
40
|
-
win32event.SetEvent(self.event)
|
41
|
-
|
42
|
-
def OnQuit(self):
|
43
|
-
thread = win32api.GetCurrentThreadId()
|
44
|
-
print("OnQuit event processed on thread %d" % thread)
|
45
|
-
win32event.SetEvent(self.event)
|
46
|
-
|
47
|
-
|
48
|
-
def WaitWhileProcessingMessages(event, timeout=2):
|
49
|
-
start = time.perf_counter()
|
50
|
-
while True:
|
51
|
-
# Wake 4 times a second - we can't just specify the
|
52
|
-
# full timeout here, as then it would reset for every
|
53
|
-
# message we process.
|
54
|
-
rc = win32event.MsgWaitForMultipleObjects(
|
55
|
-
(event,), 0, 250, win32event.QS_ALLEVENTS
|
56
|
-
)
|
57
|
-
if rc == win32event.WAIT_OBJECT_0:
|
58
|
-
# event signalled - stop now!
|
59
|
-
return True
|
60
|
-
if (time.perf_counter() - start) > timeout:
|
61
|
-
# Timeout expired.
|
62
|
-
return False
|
63
|
-
# must be a message.
|
64
|
-
pythoncom.PumpWaitingMessages()
|
65
|
-
|
66
|
-
|
67
|
-
def TestExplorerEvents():
|
68
|
-
iexplore = win32com.client.DispatchWithEvents(
|
69
|
-
"InternetExplorer.Application", ExplorerEvents
|
70
|
-
)
|
71
|
-
|
72
|
-
thread = win32api.GetCurrentThreadId()
|
73
|
-
print("TestExplorerEvents created IE object on thread %d" % thread)
|
74
|
-
|
75
|
-
iexplore.Visible = 1
|
76
|
-
try:
|
77
|
-
iexplore.Navigate(win32api.GetFullPathName("..\\readme.html"))
|
78
|
-
except pythoncom.com_error as details:
|
79
|
-
print("Warning - could not open the test HTML file", details)
|
80
|
-
|
81
|
-
# Wait for the event to be signalled while pumping messages.
|
82
|
-
if not WaitWhileProcessingMessages(iexplore.event):
|
83
|
-
print("Document load event FAILED to fire!!!")
|
84
|
-
|
85
|
-
iexplore.Quit()
|
86
|
-
#
|
87
|
-
# Give IE a chance to shutdown, else it can get upset on fast machines.
|
88
|
-
# Note, Quit generates events. Although this test does NOT catch them
|
89
|
-
# it is NECESSARY to pump messages here instead of a sleep so that the Quit
|
90
|
-
# happens properly!
|
91
|
-
if not WaitWhileProcessingMessages(iexplore.event):
|
92
|
-
print("OnQuit event FAILED to fire!!!")
|
93
|
-
|
94
|
-
iexplore = None
|
95
|
-
|
96
|
-
|
97
|
-
if __name__ == "__main__":
|
98
|
-
TestExplorerEvents()
|