py2docfx 0.1.13.dev2016838__py3-none-any.whl → 0.1.13.dev2021865__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/venv/basevenv/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
- py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
- py2docfx/venv/{venv1/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +38 -23
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/_static.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
- py2docfx/venv/basevenv/Lib/site-packages/setuptools/unicode_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +22 -26
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +21 -73
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +11 -17
- py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +8 -11
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +14 -41
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +57 -12
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +7 -8
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +11 -8
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +19 -22
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +5 -7
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +13 -22
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +7 -10
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +1 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +4 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1178 -78
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +17 -21
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +6 -18
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
- py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_cygwinccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_cygwin.py} +7 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
- py2docfx/venv/{basevenv/Lib/site-packages/setuptools/_distutils/tests/test_msvccompiler.py → venv1/Lib/site-packages/setuptools/_distutils/compilers/C/tests/test_msvc.py} +11 -12
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +38 -23
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
- py2docfx/venv/venv1/Lib/site-packages/setuptools/_static.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
- py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/setuptools/unicode_utils.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +8 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +8 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +4 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +7 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +10 -9
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +6 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +17 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +32 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +60 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +8 -10
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +2 -10
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +14 -7
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +16 -35
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +6 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +10 -11
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +4 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +304 -121
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +4926 -604
- py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +194 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +733 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +120 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +4 -7
- py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +13 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +12 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +8 -4
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +16 -3
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +24 -8
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +23 -6
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +19 -0
- py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +3 -11
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +3 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +97 -65
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +24 -24
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +17 -33
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +14 -14
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +30 -12
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +50 -98
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +12 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +48 -56
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +2 -6
- py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +9 -11
- py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +20 -24
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +8 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +4 -18
- py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +5 -6
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +2 -5
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +2 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +1 -4
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +4 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +3 -5
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +2 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +40 -57
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +7 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +143 -7
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +12 -8
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +1 -24
- py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -20
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +2 -8
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +16 -12
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +2 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +7 -14
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +2 -14
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +5 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +5 -10
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +3 -4
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +2 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +3 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +1 -0
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +5 -3
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +1 -1
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +2 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +1 -2
- py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +4 -5
- py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -1
- py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +77 -122
- py2docfx/venv/venv1/Scripts/pywin32_testall.py +4 -9
- {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/METADATA +1 -1
- {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/RECORD +342 -330
- py2docfx/venv/venv1/Lib/site-packages/docs/conf.py +0 -384
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/__init__.py +0 -0
- py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +0 -850
- py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +0 -24
- {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/WHEEL +0 -0
- {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/top_level.txt +0 -0
@@ -191,9 +191,7 @@ PyComEnumTypeObject PyIEnum{enumtype}::type("PyIEnum{enumtype}",
|
|
191
191
|
sizeof(PyIEnum{enumtype}),
|
192
192
|
PyIEnum{enumtype}_methods,
|
193
193
|
GET_PYCOM_CTOR(PyIEnum{enumtype}));
|
194
|
-
""".format(
|
195
|
-
**locals()
|
196
|
-
)
|
194
|
+
""".format(**locals())
|
197
195
|
)
|
198
196
|
|
199
197
|
|
@@ -329,7 +327,5 @@ STDMETHODIMP PyGEnum{enumtype}::Clone(
|
|
329
327
|
|
330
328
|
return PyCom_CheckIEnumNextResult(hr, IID_IEnum{enumtype});
|
331
329
|
}}
|
332
|
-
""".format(
|
333
|
-
**locals()
|
334
|
-
)
|
330
|
+
""".format(**locals())
|
335
331
|
)
|
@@ -1,15 +1,15 @@
|
|
1
1
|
"""Utilities for makegw - Parse a header file to build an interface
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
This module contains the core code for parsing a header file describing a
|
4
|
+
COM interface, and building it into an "Interface" structure.
|
5
5
|
|
6
|
-
|
6
|
+
Each Interface has methods, and each method has arguments.
|
7
7
|
|
8
|
-
|
9
|
-
|
8
|
+
Each argument knows how to use Py_BuildValue or Py_ParseTuple to
|
9
|
+
exchange itself with Python.
|
10
10
|
|
11
|
-
|
12
|
-
|
11
|
+
See the @win32com.makegw@ module for information in building a COM
|
12
|
+
interface
|
13
13
|
"""
|
14
14
|
|
15
15
|
from __future__ import annotations
|
@@ -771,12 +771,10 @@ AllConverters: dict[
|
|
771
771
|
"const PUITEMID_CHILD": (ArgFormatterIDLIST, 0),
|
772
772
|
"PCUITEMID_CHILD_ARRAY": (ArgFormatterIDLIST, 2),
|
773
773
|
"const PCUITEMID_CHILD_ARRAY": (ArgFormatterIDLIST, 2),
|
774
|
+
# Auto-add all the simple types
|
775
|
+
**{key: (ArgFormatterSimple, 0) for key in ConvertSimpleTypes},
|
774
776
|
}
|
775
777
|
|
776
|
-
# Auto-add all the simple types
|
777
|
-
for key in ConvertSimpleTypes.keys():
|
778
|
-
AllConverters[key] = ArgFormatterSimple, 0
|
779
|
-
|
780
778
|
|
781
779
|
def make_arg_converter(arg):
|
782
780
|
try:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
"""Utilities for Server Side connections.
|
2
2
|
|
3
|
-
|
3
|
+
A collection of helpers for server side connection points.
|
4
4
|
"""
|
5
5
|
|
6
6
|
import pythoncom
|
@@ -82,4 +82,4 @@ class ConnectableServer:
|
|
82
82
|
self._OnNotifyFail(interface, details)
|
83
83
|
|
84
84
|
def _OnNotifyFail(self, interface, details):
|
85
|
-
print("Ignoring COM error to connection -
|
85
|
+
print(f"Ignoring COM error to connection - {details!r}")
|
@@ -6,6 +6,7 @@ Please see policy.py for a discussion on dispatchers and policies
|
|
6
6
|
from __future__ import annotations
|
7
7
|
|
8
8
|
import traceback
|
9
|
+
from typing import NoReturn
|
9
10
|
|
10
11
|
import pythoncom
|
11
12
|
import win32api
|
@@ -31,51 +32,48 @@ class DispatcherBase:
|
|
31
32
|
# default location (typically 'print')
|
32
33
|
self.logger = getattr(win32com, "logger", None)
|
33
34
|
|
34
|
-
# Note the "return self._HandleException_()" is purely to stop pychecker
|
35
|
-
# complaining - _HandleException_ will itself raise an exception for the
|
36
|
-
# pythoncom framework, so the result will never be seen.
|
37
35
|
def _CreateInstance_(self, clsid, reqIID):
|
38
36
|
try:
|
39
37
|
self.policy._CreateInstance_(clsid, reqIID)
|
40
38
|
return pythoncom.WrapObject(self, reqIID)
|
41
39
|
except:
|
42
|
-
|
40
|
+
self._HandleException_()
|
43
41
|
|
44
42
|
def _QueryInterface_(self, iid):
|
45
43
|
try:
|
46
44
|
return self.policy._QueryInterface_(iid)
|
47
45
|
except:
|
48
|
-
|
46
|
+
self._HandleException_()
|
49
47
|
|
50
48
|
def _Invoke_(self, dispid, lcid, wFlags, args):
|
51
49
|
try:
|
52
50
|
return self.policy._Invoke_(dispid, lcid, wFlags, args)
|
53
51
|
except:
|
54
|
-
|
52
|
+
self._HandleException_()
|
55
53
|
|
56
54
|
def _GetIDsOfNames_(self, names, lcid):
|
57
55
|
try:
|
58
56
|
return self.policy._GetIDsOfNames_(names, lcid)
|
59
57
|
except:
|
60
|
-
|
58
|
+
self._HandleException_()
|
61
59
|
|
62
60
|
def _GetTypeInfo_(self, index, lcid):
|
63
61
|
try:
|
64
62
|
return self.policy._GetTypeInfo_(index, lcid)
|
65
63
|
except:
|
66
|
-
|
64
|
+
self._HandleException_()
|
67
65
|
|
68
66
|
def _GetTypeInfoCount_(self):
|
69
67
|
try:
|
70
68
|
return self.policy._GetTypeInfoCount_()
|
71
69
|
except:
|
72
|
-
|
70
|
+
self._HandleException_()
|
73
71
|
|
74
72
|
def _GetDispID_(self, name, fdex):
|
75
73
|
try:
|
76
74
|
return self.policy._GetDispID_(name, fdex)
|
77
75
|
except:
|
78
|
-
|
76
|
+
self._HandleException_()
|
79
77
|
|
80
78
|
def _InvokeEx_(self, dispid, lcid, wFlags, args, kwargs, serviceProvider):
|
81
79
|
try:
|
@@ -83,45 +81,45 @@ class DispatcherBase:
|
|
83
81
|
dispid, lcid, wFlags, args, kwargs, serviceProvider
|
84
82
|
)
|
85
83
|
except:
|
86
|
-
|
84
|
+
self._HandleException_()
|
87
85
|
|
88
86
|
def _DeleteMemberByName_(self, name, fdex):
|
89
87
|
try:
|
90
88
|
return self.policy._DeleteMemberByName_(name, fdex)
|
91
89
|
except:
|
92
|
-
|
90
|
+
self._HandleException_()
|
93
91
|
|
94
92
|
def _DeleteMemberByDispID_(self, id):
|
95
93
|
try:
|
96
94
|
return self.policy._DeleteMemberByDispID_(id)
|
97
95
|
except:
|
98
|
-
|
96
|
+
self._HandleException_()
|
99
97
|
|
100
98
|
def _GetMemberProperties_(self, id, fdex):
|
101
99
|
try:
|
102
100
|
return self.policy._GetMemberProperties_(id, fdex)
|
103
101
|
except:
|
104
|
-
|
102
|
+
self._HandleException_()
|
105
103
|
|
106
104
|
def _GetMemberName_(self, dispid):
|
107
105
|
try:
|
108
106
|
return self.policy._GetMemberName_(dispid)
|
109
107
|
except:
|
110
|
-
|
108
|
+
self._HandleException_()
|
111
109
|
|
112
110
|
def _GetNextDispID_(self, fdex, flags):
|
113
111
|
try:
|
114
112
|
return self.policy._GetNextDispID_(fdex, flags)
|
115
113
|
except:
|
116
|
-
|
114
|
+
self._HandleException_()
|
117
115
|
|
118
116
|
def _GetNameSpaceParent_(self):
|
119
117
|
try:
|
120
118
|
return self.policy._GetNameSpaceParent_()
|
121
119
|
except:
|
122
|
-
|
120
|
+
self._HandleException_()
|
123
121
|
|
124
|
-
def _HandleException_(self):
|
122
|
+
def _HandleException_(self) -> NoReturn:
|
125
123
|
"""Called whenever an exception is raised.
|
126
124
|
|
127
125
|
Default behaviour is to print the exception.
|
@@ -152,8 +150,8 @@ class DispatcherTrace(DispatcherBase):
|
|
152
150
|
rc = DispatcherBase._QueryInterface_(self, iid)
|
153
151
|
if not rc:
|
154
152
|
self._trace_(
|
155
|
-
"in {}._QueryInterface_ with unsupported IID {} ({})".format(
|
156
|
-
|
153
|
+
"in {!r}._QueryInterface_ with unsupported IID {} ({})".format(
|
154
|
+
self.policy._obj_, IIDToInterfaceName(iid), iid
|
157
155
|
)
|
158
156
|
)
|
159
157
|
return rc
|
@@ -221,9 +219,7 @@ class DispatcherWin32trace(DispatcherTrace):
|
|
221
219
|
if self.logger is None:
|
222
220
|
# If we have no logger, setup our output.
|
223
221
|
import win32traceutil # Sets up everything.
|
224
|
-
self._trace_(
|
225
|
-
"Object with win32trace dispatcher created (object=%s)" % repr(object)
|
226
|
-
)
|
222
|
+
self._trace_(f"Object with win32trace dispatcher created (object={object!r})")
|
227
223
|
|
228
224
|
|
229
225
|
class DispatcherOutputDebugString(DispatcherTrace):
|
@@ -236,7 +232,7 @@ class DispatcherOutputDebugString(DispatcherTrace):
|
|
236
232
|
|
237
233
|
|
238
234
|
try:
|
239
|
-
import win32trace
|
235
|
+
import win32trace # nopycln: import # Check for win32traceutil w/o importing it
|
240
236
|
|
241
237
|
DefaultDebugDispatcher: type[DispatcherTrace] = DispatcherWin32trace
|
242
238
|
except ImportError: # no win32trace module - just use a print based one.
|
@@ -1,15 +1,15 @@
|
|
1
1
|
"""Exception Handling
|
2
2
|
|
3
|
-
|
3
|
+
Exceptions
|
4
4
|
|
5
|
-
|
6
|
-
|
7
|
-
|
5
|
+
To better support COM exceptions, the framework allows for an instance to be
|
6
|
+
raised. This instance may have a certain number of known attributes, which are
|
7
|
+
translated into COM exception details.
|
8
8
|
|
9
|
-
|
10
|
-
|
9
|
+
This means, for example, that Python could raise a COM exception that includes details
|
10
|
+
on a Help file and location, and a description for the user.
|
11
11
|
|
12
|
-
|
12
|
+
This module provides a class which provides the necessary attributes.
|
13
13
|
"""
|
14
14
|
|
15
15
|
import sys
|
@@ -19,7 +19,7 @@ import pythoncom
|
|
19
19
|
|
20
20
|
# Note that we derive from com_error, which derives from builtin Exception
|
21
21
|
# Also note that we don't support "self.args", as we don't support tuple-unpacking
|
22
|
-
class COMException(pythoncom.com_error):
|
22
|
+
class COMException(pythoncom.com_error): # type: ignore[name-defined] # Dynamic module
|
23
23
|
"""An Exception object that is understood by the framework.
|
24
24
|
|
25
25
|
If the framework is presented with an exception of type class,
|
@@ -66,8 +66,6 @@ Error Handling
|
|
66
66
|
problem, rather than a COM error.
|
67
67
|
"""
|
68
68
|
|
69
|
-
__author__ = "Greg Stein and Mark Hammond"
|
70
|
-
|
71
69
|
import sys
|
72
70
|
import types
|
73
71
|
|
@@ -92,6 +90,8 @@ from pythoncom import (
|
|
92
90
|
|
93
91
|
from .exception import COMException
|
94
92
|
|
93
|
+
__author__ = "Greg Stein and Mark Hammond"
|
94
|
+
|
95
95
|
S_OK = 0
|
96
96
|
|
97
97
|
# Few more globals to speed things.
|
@@ -321,7 +321,7 @@ class BasicWrapPolicy:
|
|
321
321
|
|
322
322
|
# IDispatchEx support for policies. Most of the IDispathEx functionality
|
323
323
|
# by default will raise E_NOTIMPL. Thus it is not necessary for derived
|
324
|
-
# policies to
|
324
|
+
# policies to explicitly implement all this functionality just to not implement it!
|
325
325
|
|
326
326
|
def _GetDispID_(self, name, fdex):
|
327
327
|
return self._getdispid_(name, fdex)
|
@@ -385,10 +385,8 @@ class BasicWrapPolicy:
|
|
385
385
|
return self._getnextdispid_(fdex, dispid)
|
386
386
|
|
387
387
|
def _getnextdispid_(self, fdex, dispid):
|
388
|
-
ids =
|
388
|
+
ids = [id for id in self._name_to_dispid_.values() if id != DISPID_STARTENUM]
|
389
389
|
ids.sort()
|
390
|
-
if DISPID_STARTENUM in ids:
|
391
|
-
ids.remove(DISPID_STARTENUM)
|
392
390
|
if dispid == DISPID_STARTENUM:
|
393
391
|
return ids[0]
|
394
392
|
else:
|
@@ -803,15 +801,3 @@ def _import_module(mname):
|
|
803
801
|
# Eeek - result of _import_ is "win32com" - not "win32com.a.b.c"
|
804
802
|
# Get the full module from sys.modules
|
805
803
|
return sys.modules[mname]
|
806
|
-
|
807
|
-
|
808
|
-
#######
|
809
|
-
#
|
810
|
-
# Temporary hacks until all old code moves.
|
811
|
-
#
|
812
|
-
# These have been moved to a new source file, but some code may
|
813
|
-
# still reference them here. These will end up being removed.
|
814
|
-
try:
|
815
|
-
from .dispatcher import DispatcherTrace, DispatcherWin32trace
|
816
|
-
except ImportError: # Quite likely a frozen executable that doesn't need dispatchers
|
817
|
-
pass
|
@@ -272,7 +272,7 @@ def RegisterServer(
|
|
272
272
|
exeName = _find_localserver_exe(1)
|
273
273
|
exeName = win32api.GetShortPathName(exeName)
|
274
274
|
pyfile = _find_localserver_module()
|
275
|
-
command = f'{exeName} "{pyfile}" {
|
275
|
+
command = f'{exeName} "{pyfile}" {clsid}'
|
276
276
|
_set_string(keyNameRoot + "\\LocalServer32", command)
|
277
277
|
else: # Remove any old LocalServer32 registrations
|
278
278
|
_remove_key(keyNameRoot + "\\LocalServer32")
|
@@ -304,7 +304,7 @@ def RegisterServer(
|
|
304
304
|
if addPyComCat is None:
|
305
305
|
addPyComCat = pythoncom.frozen == 0
|
306
306
|
if addPyComCat:
|
307
|
-
catids
|
307
|
+
catids = catids + [CATID_PythonCOMServer]
|
308
308
|
|
309
309
|
# Set up the implemented categories
|
310
310
|
if catids:
|
@@ -383,7 +383,7 @@ def UnregisterServer(clsid, progID=None, verProgID=None, customKeys=None):
|
|
383
383
|
|
384
384
|
def GetRegisteredServerOption(clsid, optionName):
|
385
385
|
"""Given a CLSID for a server and option name, return the option value"""
|
386
|
-
keyNameRoot = f"CLSID\\{
|
386
|
+
keyNameRoot = f"CLSID\\{clsid}\\{optionName}"
|
387
387
|
return _get_string(keyNameRoot)
|
388
388
|
|
389
389
|
|
@@ -448,7 +448,7 @@ def RegisterClasses(*classes, **flags):
|
|
448
448
|
win32api.FindFiles(sys.argv[0])[0][8]
|
449
449
|
)[0]
|
450
450
|
except (IndexError, win32api.error):
|
451
|
-
# Can't find the script file - the user must
|
451
|
+
# Can't find the script file - the user must explicitly set the _reg_... attribute.
|
452
452
|
raise TypeError(
|
453
453
|
"Can't locate the script hosting the COM object - please set _reg_class_spec_ in your object"
|
454
454
|
)
|
@@ -523,11 +523,10 @@ def UnregisterClasses(*classes, **flags):
|
|
523
523
|
extra()
|
524
524
|
|
525
525
|
|
526
|
-
#
|
527
526
|
# Unregister info is for installers or external uninstallers.
|
528
527
|
# The WISE installer, for example firstly registers the COM server,
|
529
528
|
# then queries for the Unregister info, appending it to its
|
530
|
-
# install log. Uninstalling the package will
|
529
|
+
# install log. Uninstalling the package will uninstall the server.
|
531
530
|
def UnregisterInfoClasses(*classes, **flags):
|
532
531
|
ret = []
|
533
532
|
for cls in classes:
|
@@ -85,10 +85,7 @@ class DictionaryPolicy(policy.BasicWrapPolicy):
|
|
85
85
|
if wFlags & (DISPATCH_METHOD | DISPATCH_PROPERTYGET):
|
86
86
|
if l > 1:
|
87
87
|
raise COMException(scode=winerror.DISP_E_BADPARAMCOUNT)
|
88
|
-
|
89
|
-
return self._obj_[key]
|
90
|
-
except KeyError:
|
91
|
-
return None # unknown keys return None (VT_NULL)
|
88
|
+
return self._obj_.get(key) # unknown keys return None (VT_NULL)
|
92
89
|
|
93
90
|
if l != 2:
|
94
91
|
raise COMException(scode=winerror.DISP_E_BADPARAMCOUNT)
|
@@ -110,7 +107,7 @@ class DictionaryPolicy(policy.BasicWrapPolicy):
|
|
110
107
|
return len(self._obj_)
|
111
108
|
|
112
109
|
if dispid == pythoncom.DISPID_NEWENUM:
|
113
|
-
return util.NewEnum(list(self._obj_
|
110
|
+
return util.NewEnum(list(self._obj_))
|
114
111
|
|
115
112
|
raise COMException(scode=winerror.DISP_E_MEMBERNOTFOUND)
|
116
113
|
|
@@ -1,14 +1,14 @@
|
|
1
1
|
"""Python.Interpreter COM Server
|
2
2
|
|
3
|
-
|
4
|
-
|
3
|
+
This module implements a very very simple COM server which
|
4
|
+
exposes the Python interpreter.
|
5
5
|
|
6
|
-
|
7
|
-
|
6
|
+
This is designed more as a demonstration than a full blown COM server.
|
7
|
+
General functionality and Error handling are both limited.
|
8
8
|
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
To use this object, ensure it is registered by running this module
|
10
|
+
from Python.exe. Then, from Visual Basic, use "CreateObject('Python.Interpreter')",
|
11
|
+
and call its methods!
|
12
12
|
"""
|
13
13
|
|
14
14
|
import winerror
|
@@ -3,6 +3,7 @@
|
|
3
3
|
#
|
4
4
|
import os
|
5
5
|
import sys
|
6
|
+
import traceback
|
6
7
|
|
7
8
|
import pythoncom
|
8
9
|
import win32com
|
@@ -60,10 +61,7 @@ def GenerateAll():
|
|
60
61
|
|
61
62
|
def CleanAll():
|
62
63
|
print("Cleaning generated test scripts...")
|
63
|
-
|
64
|
-
1 / 0
|
65
|
-
except:
|
66
|
-
pass
|
64
|
+
traceback.clear_frames(sys.exc_info()[2]) # Clear exceptions!
|
67
65
|
genPath = GetGenPath()
|
68
66
|
for args in genList:
|
69
67
|
try:
|
@@ -158,7 +158,7 @@ def test():
|
|
158
158
|
"The source in the exception tuple did not yield the correct string",
|
159
159
|
str(com_exc),
|
160
160
|
)
|
161
|
-
assert exc[2] == "\
|
161
|
+
assert exc[2] == "\U0001f600", (
|
162
162
|
"The description in the exception tuple did not yield the correct string",
|
163
163
|
str(com_exc),
|
164
164
|
)
|
@@ -213,7 +213,7 @@ if logging is not None:
|
|
213
213
|
except pythoncom.error as exc:
|
214
214
|
# `excepinfo` is a tuple with elt 2 being the traceback we captured.
|
215
215
|
message = exc.excepinfo[2]
|
216
|
-
assert message.endswith("Exception: \
|
216
|
+
assert message.endswith("Exception: \U0001f600\n")
|
217
217
|
assert handler.num_emits == 1, handler.num_emits
|
218
218
|
assert handler.last_record.startswith(
|
219
219
|
"pythoncom error: Unexpected exception in gateway method 'Commit'"
|
@@ -228,7 +228,7 @@ if logging is not None:
|
|
228
228
|
except pythoncom.error as exc:
|
229
229
|
# `excepinfo` is a tuple with elt 2 being the traceback we captured.
|
230
230
|
message = exc.excepinfo[2]
|
231
|
-
assert message.endswith("Exception: \
|
231
|
+
assert message.endswith("Exception: \U0001f600\n")
|
232
232
|
assert handler.num_emits == 1, handler.num_emits
|
233
233
|
handler.reset()
|
234
234
|
|
@@ -41,10 +41,7 @@ class CPippo:
|
|
41
41
|
|
42
42
|
|
43
43
|
def BuildTypelib():
|
44
|
-
|
45
|
-
from setuptools.modified import newer
|
46
|
-
else:
|
47
|
-
from distutils.dep_util import newer
|
44
|
+
from setuptools.modified import newer
|
48
45
|
|
49
46
|
this_dir = os.path.dirname(__file__)
|
50
47
|
idl = os.path.abspath(os.path.join(this_dir, "pippo.idl"))
|
@@ -15,10 +15,9 @@ class AXScript(win32com.test.util.TestCase):
|
|
15
15
|
file = win32api.GetFullPathName(
|
16
16
|
os.path.join(next(iter(win32com.axscript.client.__path__)), "pyscript.py")
|
17
17
|
)
|
18
|
-
from win32com.test.util import RegisterPythonServer
|
19
18
|
|
20
19
|
self.verbose = verbose
|
21
|
-
RegisterPythonServer(file, "python", verbose=self.verbose)
|
20
|
+
win32com.test.util.RegisterPythonServer(file, "python", verbose=self.verbose)
|
22
21
|
|
23
22
|
def testHost(self):
|
24
23
|
file = win32api.GetFullPathName(
|
@@ -17,7 +17,7 @@ def MakeTestDictionary():
|
|
17
17
|
|
18
18
|
|
19
19
|
def TestDictAgainst(dict, check):
|
20
|
-
for key, value in
|
20
|
+
for key, value in check.items():
|
21
21
|
assert (
|
22
22
|
dict(key) == value
|
23
23
|
), f"Indexing for '{key!r}' gave the incorrect value - {dict[key]!r}/{check[key]!r}"
|
@@ -26,9 +26,10 @@ def TestDictAgainst(dict, check):
|
|
26
26
|
# Ensure we have the correct version registered.
|
27
27
|
def Register(quiet):
|
28
28
|
import win32com.servers.dictionary
|
29
|
-
from win32com.test.util import RegisterPythonServer
|
30
29
|
|
31
|
-
|
30
|
+
win32com.test.util.RegisterPythonServer(
|
31
|
+
win32com.servers.dictionary.__file__, "Python.Dictionary"
|
32
|
+
)
|
32
33
|
|
33
34
|
|
34
35
|
def TestDict(quiet=None):
|
@@ -37,8 +37,8 @@ class VeryPermissive:
|
|
37
37
|
) # Probably call as PROPGET.
|
38
38
|
|
39
39
|
for arg in args[:-1]:
|
40
|
-
print(
|
41
|
-
print(
|
40
|
+
print(arg, end=" ")
|
41
|
+
print(args[-1])
|
42
42
|
|
43
43
|
|
44
44
|
def Test():
|
@@ -65,9 +65,7 @@ def Test():
|
|
65
65
|
client.TestSequence = v
|
66
66
|
assert v == list(
|
67
67
|
client.TestSequence
|
68
|
-
), "Dynamic sequences not working! {!r}/{!r}"
|
69
|
-
repr(v), repr(client.testSequence)
|
70
|
-
)
|
68
|
+
), f"Dynamic sequences not working! {v!r}/{client.testSequence!r}"
|
71
69
|
|
72
70
|
client.write("This", "output", "has", "come", "via", "testDynamic.py")
|
73
71
|
# Check our new "_FlagAsMethod" works (kinda!)
|
@@ -6,7 +6,7 @@
|
|
6
6
|
import os
|
7
7
|
|
8
8
|
import pythoncom
|
9
|
-
from win32com.client import
|
9
|
+
from win32com.client import gencache
|
10
10
|
|
11
11
|
ammodule = None # was the generated module!
|
12
12
|
|
@@ -86,16 +86,11 @@ def TestUser(session):
|
|
86
86
|
print("User has %d fields" % len(fields))
|
87
87
|
for f in range(len(fields)):
|
88
88
|
field = fields[f + 1]
|
89
|
-
|
90
|
-
id = PropTagsById[field.ID]
|
91
|
-
except KeyError:
|
92
|
-
id = field.ID
|
89
|
+
id = PropTagsById.get(field.ID, field.ID)
|
93
90
|
print(f"{field.Name}/{id}={field.Value}")
|
94
91
|
|
95
92
|
|
96
93
|
def test():
|
97
|
-
import win32com.client
|
98
|
-
|
99
94
|
oldcwd = os.getcwd()
|
100
95
|
try:
|
101
96
|
session = gencache.EnsureDispatch("MAPI.Session")
|
@@ -60,7 +60,7 @@ def FailObjectIdentity(ob1, ob2, when):
|
|
60
60
|
if not CheckObjectIdentity(ob1, ob2):
|
61
61
|
global numErrors
|
62
62
|
numErrors += 1
|
63
|
-
print(when
|
63
|
+
print(f"{when} are not identical ({ob1!r}, {ob2!r})")
|
64
64
|
|
65
65
|
|
66
66
|
class Dummy:
|
@@ -126,7 +126,7 @@ class WrappedPythonCOMServerTestCase(_BaseTestCase):
|
|
126
126
|
def suite():
|
127
127
|
# We don't want our base class run
|
128
128
|
suite = unittest.TestSuite()
|
129
|
-
for item in
|
129
|
+
for item in globals().values():
|
130
130
|
if (
|
131
131
|
isinstance(item, type)
|
132
132
|
and issubclass(item, unittest.TestCase)
|