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.
Files changed (346) hide show
  1. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
  2. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
  3. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
  4. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
  5. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
  6. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
  7. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
  8. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
  9. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
  10. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
  11. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
  12. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
  13. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
  14. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  15. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
  16. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
  17. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
  18. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
  19. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
  20. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
  21. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
  22. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
  23. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
  25. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
  26. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
  27. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
  28. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
  29. 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
  30. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
  31. 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
  32. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
  33. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
  34. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
  35. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
  36. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +38 -23
  46. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
  47. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_static.py +1 -1
  48. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
  49. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/install.py +1 -1
  50. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
  51. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
  52. py2docfx/venv/basevenv/Lib/site-packages/setuptools/unicode_utils.py +1 -1
  53. py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +2 -1
  54. py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +3 -1
  55. py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +22 -26
  56. py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +3 -4
  57. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +1 -1
  58. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +1 -1
  59. py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +7 -7
  60. py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +2 -2
  61. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +21 -73
  62. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +1 -1
  63. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +11 -17
  64. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +2 -1
  65. py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +8 -11
  66. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +1 -1
  67. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +1 -1
  68. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +2 -1
  69. py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +1 -0
  70. py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +1 -0
  71. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +1 -1
  72. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +1 -3
  73. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +1 -3
  74. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +2 -5
  75. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +14 -41
  76. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +1 -1
  77. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +1 -3
  78. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +1 -1
  79. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +1 -2
  80. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +1 -2
  81. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +3 -3
  82. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +57 -12
  83. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -1
  84. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +1 -1
  85. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -1
  86. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +7 -8
  87. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +1 -1
  88. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +7 -10
  89. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +11 -8
  90. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -1
  91. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -1
  92. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +19 -22
  93. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +2 -3
  94. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +1 -1
  95. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +3 -1
  96. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -1
  97. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +6 -6
  98. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +2 -2
  99. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +2 -1
  100. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +1 -1
  101. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +5 -7
  102. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +7 -2
  103. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +4 -6
  104. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +13 -22
  105. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +1 -1
  106. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +1 -0
  107. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -2
  108. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +3 -3
  109. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +1 -3
  110. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +1 -2
  111. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +7 -10
  112. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +1 -5
  113. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +4 -2
  114. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +3 -5
  115. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +2 -3
  116. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +1 -1
  117. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +3 -3
  118. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +2 -2
  119. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +1178 -78
  120. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +17 -21
  121. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +6 -18
  122. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +2 -2
  123. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_modified.py +26 -4
  124. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -603
  125. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/archive_util.py +48 -18
  126. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +17 -1257
  127. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cmd.py +133 -41
  128. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist.py +19 -8
  129. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_dumb.py +2 -1
  130. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/bdist_rpm.py +6 -5
  131. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +8 -4
  132. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +8 -7
  133. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +32 -13
  134. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_py.py +10 -9
  135. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_scripts.py +3 -14
  136. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  137. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/clean.py +2 -1
  138. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +1 -8
  139. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +22 -19
  140. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_data.py +4 -3
  141. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_headers.py +1 -1
  142. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_lib.py +11 -7
  143. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install_scripts.py +4 -3
  144. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/sdist.py +22 -16
  145. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/__init__.py +6 -1
  146. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +1391 -0
  147. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/cygwin.py +340 -0
  148. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/errors.py +24 -0
  149. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +614 -0
  150. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_ccompiler.py → compilers/C/tests/test_base.py} +9 -19
  151. 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
  152. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_mingwccompiler.py → compilers/C/tests/test_mingw.py} +12 -20
  153. 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
  154. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/{tests/test_unixccompiler.py → compilers/C/tests/test_unix.py} +5 -5
  155. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +409 -0
  156. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/zos.py +230 -0
  157. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/cygwinccompiler.py +20 -328
  158. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +148 -80
  159. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/errors.py +11 -27
  160. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/extension.py +19 -16
  161. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/filelist.py +80 -15
  162. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/spawn.py +22 -5
  163. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +32 -7
  164. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +13 -0
  165. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_sdist.py +1 -1
  166. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +2 -401
  167. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +38 -23
  168. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/zosccompiler.py +2 -228
  169. py2docfx/venv/venv1/Lib/site-packages/setuptools/_static.py +1 -1
  170. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/editable_wheel.py +3 -3
  171. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/install.py +1 -1
  172. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_setupcfg.py +2 -0
  173. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_py.py +1 -1
  174. py2docfx/venv/venv1/Lib/site-packages/setuptools/unicode_utils.py +1 -1
  175. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +1 -1
  176. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +8 -1
  177. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +8 -8
  178. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +1 -1
  179. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +1 -1
  180. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +1 -1
  181. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +1 -1
  182. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +2 -2
  183. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +4 -6
  184. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +4 -4
  185. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -2
  186. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -1
  187. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -3
  188. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -2
  189. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +7 -2
  190. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +1 -1
  191. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +1 -2
  192. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -1
  193. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -3
  194. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -1
  195. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -1
  196. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -1
  197. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +3 -3
  198. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +3 -3
  199. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +1 -2
  200. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +10 -9
  201. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +6 -3
  202. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +17 -5
  203. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +32 -2
  204. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +1 -4
  205. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -1
  206. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +60 -5
  207. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +1 -1
  208. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +2 -5
  209. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +1 -1
  210. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +1 -1
  211. py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +1 -1
  212. py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +8 -10
  213. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +2 -10
  214. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +2 -2
  215. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +1 -1
  216. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +1 -1
  217. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +3 -3
  218. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +14 -7
  219. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +16 -35
  220. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +1 -4
  221. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +1 -2
  222. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +6 -6
  223. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +10 -11
  224. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +5 -5
  225. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +1 -0
  226. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +4 -6
  227. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +304 -121
  228. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +1 -1
  229. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +4926 -604
  230. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +1 -1
  231. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +194 -0
  232. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +733 -0
  233. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +120 -0
  234. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +4 -7
  235. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +1 -1
  236. py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +13 -5
  237. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +12 -1
  238. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +1 -1
  239. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +8 -4
  240. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +2 -3
  241. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -1
  242. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +16 -3
  243. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +24 -8
  244. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -1
  245. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +2 -5
  246. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +23 -6
  247. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -1
  248. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +19 -0
  249. py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +3 -11
  250. py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +3 -1
  251. py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +97 -65
  252. py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +24 -24
  253. py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +17 -33
  254. py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +14 -14
  255. py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +30 -12
  256. py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +50 -98
  257. py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +12 -8
  258. py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +3 -4
  259. py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +1 -1
  260. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +1 -1
  261. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +1 -1
  262. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +1 -1
  263. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -3
  264. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +1 -1
  265. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +1 -3
  266. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +48 -56
  267. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +2 -6
  268. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +9 -11
  269. py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +1 -1
  270. py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +2 -2
  271. py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +20 -24
  272. py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +8 -8
  273. py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +4 -18
  274. py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +5 -6
  275. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +2 -5
  276. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +7 -7
  277. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -1
  278. py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +2 -4
  279. py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +3 -3
  280. py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +1 -4
  281. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +1 -1
  282. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +1 -2
  283. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +4 -3
  284. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +3 -5
  285. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +2 -7
  286. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +1 -1
  287. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +1 -1
  288. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +40 -57
  289. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +3 -3
  290. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +7 -7
  291. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +2 -3
  292. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +143 -7
  293. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +1 -2
  294. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +1 -2
  295. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +1 -2
  296. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +12 -8
  297. py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +1 -3
  298. py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +1 -3
  299. py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +1 -1
  300. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +1 -1
  301. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -1
  302. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +1 -24
  303. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -20
  304. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +2 -8
  305. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +16 -12
  306. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +1 -3
  307. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +2 -2
  308. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +2 -3
  309. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +2 -4
  310. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +2 -2
  311. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +7 -14
  312. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +2 -14
  313. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +4 -5
  314. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +5 -5
  315. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -1
  316. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +5 -10
  317. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +3 -4
  318. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +1 -2
  319. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +2 -3
  320. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -3
  321. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +3 -3
  322. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +1 -1
  323. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +1 -1
  324. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +1 -0
  325. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +1 -3
  326. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +2 -2
  327. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +1 -1
  328. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +1 -1
  329. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +5 -3
  330. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -1
  331. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +1 -1
  332. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +1 -1
  333. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +2 -2
  334. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +1 -2
  335. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +4 -5
  336. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -1
  337. py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +77 -122
  338. py2docfx/venv/venv1/Scripts/pywin32_testall.py +4 -9
  339. {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/METADATA +1 -1
  340. {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/RECORD +342 -330
  341. py2docfx/venv/venv1/Lib/site-packages/docs/conf.py +0 -384
  342. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/__init__.py +0 -0
  343. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +0 -850
  344. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +0 -24
  345. {py2docfx-0.1.13.dev2016838.dist-info → py2docfx-0.1.13.dev2021865.dist-info}/WHEEL +0 -0
  346. {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
- This module contains the core code for parsing a header file describing a
4
- COM interface, and building it into an "Interface" structure.
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
- Each Interface has methods, and each method has arguments.
6
+ Each Interface has methods, and each method has arguments.
7
7
 
8
- Each argument knows how to use Py_BuildValue or Py_ParseTuple to
9
- exchange itself with Python.
8
+ Each argument knows how to use Py_BuildValue or Py_ParseTuple to
9
+ exchange itself with Python.
10
10
 
11
- See the @win32com.makegw@ module for information in building a COM
12
- interface
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
  """Constants used by COM Controls
2
2
 
3
- Hand created version of OLECTL.H constants.
3
+ Hand created version of olectl.h constants.
4
4
  """
5
5
 
6
6
  import winerror
@@ -1,6 +1,6 @@
1
1
  """Utilities for Server Side connections.
2
2
 
3
- A collection of helpers for server side connection points.
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 - %s" % (repr(details)))
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
64
+ self._HandleException_()
67
65
 
68
66
  def _GetTypeInfoCount_(self):
69
67
  try:
70
68
  return self.policy._GetTypeInfoCount_()
71
69
  except:
72
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
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
- return self._HandleException_()
114
+ self._HandleException_()
117
115
 
118
116
  def _GetNameSpaceParent_(self):
119
117
  try:
120
118
  return self.policy._GetNameSpaceParent_()
121
119
  except:
122
- return self._HandleException_()
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
- repr(self.policy._obj_), IIDToInterfaceName(iid), iid
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
- Exceptions
3
+ Exceptions
4
4
 
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.
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
- 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.
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
- This module provides a class which provides the necessary attributes.
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 explicitely implement all this functionality just to not implement it!
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 = list(self._name_to_dispid_.values())
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}" {str(clsid)}'
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.append(CATID_PythonCOMServer)
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\\{str(clsid)}\\{str(optionName)}"
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 explicitely set the _reg_... attribute.
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 the uninstall the server
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
- try:
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_.keys()))
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
- This module implements a very very simple COM server which
4
- exposes the Python interpreter.
3
+ This module implements a very very simple COM server which
4
+ exposes the Python interpreter.
5
5
 
6
- This is designed more as a demonstration than a full blown COM server.
7
- General functionality and Error handling are both limited.
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
- 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!
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
@@ -6,7 +6,6 @@ import pythoncom
6
6
  import winerror
7
7
 
8
8
  # Ensure the vtables in the tlb are known.
9
- from win32com import universal
10
9
  from win32com.client import constants, gencache
11
10
  from win32com.server.exception import COMException
12
11
  from win32com.server.util import wrap
@@ -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
- try: # Clear exceptions!
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] == "\U0001F600", (
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: \U0001F600\n")
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: \U0001F600\n")
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
- if sys.version_info >= (3, 8):
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"))
@@ -2,7 +2,7 @@ import os
2
2
  import time
3
3
 
4
4
  import pythoncom
5
- from win32com.client import Dispatch, DispatchWithEvents, constants
5
+ from win32com.client import DispatchWithEvents, constants
6
6
 
7
7
  finished = 0 # Flag for the wait loop from (3) to test
8
8
 
@@ -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 list(check.items()):
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
- RegisterPythonServer(win32com.servers.dictionary.__file__, "Python.Dictionary")
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(str(arg), end=" ")
41
- print(str(args[-1]))
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}".format(
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 constants, gencache
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
- try:
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, f"are not identical ({repr(ob1)}, {repr(ob2)})")
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 list(globals().values()):
129
+ for item in globals().values():
130
130
  if (
131
131
  isinstance(item, type)
132
132
  and issubclass(item, unittest.TestCase)