py2docfx 0.1.13rc2012291__py3-none-any.whl → 0.1.13rc2022156__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 (345) 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.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/METADATA +1 -1
  340. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/RECORD +342 -329
  341. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/__init__.py +0 -0
  342. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/mdi_pychecker.py +0 -850
  343. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testNetscape.py +0 -24
  344. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/WHEEL +0 -0
  345. {py2docfx-0.1.13rc2012291.dist-info → py2docfx-0.1.13rc2022156.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,120 @@
1
+ """A test runner for pywin32"""
2
+
3
+ import os
4
+ import site
5
+ import subprocess
6
+ import sys
7
+
8
+ # locate the dirs based on where this script is - it may be either in the
9
+ # source tree, or in an installed Python 'Scripts' tree.
10
+ project_root = os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
11
+ site_packages = [site.getusersitepackages()] + site.getsitepackages()
12
+
13
+ failures = []
14
+
15
+
16
+ # Run a test using subprocess and wait for the result.
17
+ # If we get an returncode != 0, we know that there was an error, but we don't
18
+ # abort immediately - we run as many tests as we can.
19
+ def run_test(script, cmdline_extras):
20
+ dirname, scriptname = os.path.split(script)
21
+ # some tests prefer to be run from their directory.
22
+ cmd = [sys.executable, "-u", scriptname] + cmdline_extras
23
+ print("--- Running '%s' ---" % script)
24
+ sys.stdout.flush()
25
+ result = subprocess.run(cmd, check=False, cwd=dirname)
26
+ print(f"*** Test script '{script}' exited with {result.returncode}")
27
+ sys.stdout.flush()
28
+ if result.returncode:
29
+ failures.append(script)
30
+
31
+
32
+ def find_and_run(possible_locations, extras):
33
+ for maybe in possible_locations:
34
+ if os.path.isfile(maybe):
35
+ run_test(maybe, extras)
36
+ break
37
+ else:
38
+ raise RuntimeError(
39
+ "Failed to locate a test script in one of %s" % possible_locations
40
+ )
41
+
42
+
43
+ def main():
44
+ import argparse
45
+
46
+ code_directories = [project_root] + site_packages
47
+
48
+ parser = argparse.ArgumentParser(
49
+ description="A script to trigger tests in all subprojects of PyWin32."
50
+ )
51
+ parser.add_argument(
52
+ "-no-user-interaction",
53
+ default=False,
54
+ action="store_true",
55
+ help="(This is now the default - use `-user-interaction` to include them)",
56
+ )
57
+
58
+ parser.add_argument(
59
+ "-user-interaction",
60
+ action="store_true",
61
+ help="Include tests which require user interaction",
62
+ )
63
+
64
+ parser.add_argument(
65
+ "-skip-adodbapi",
66
+ default=False,
67
+ action="store_true",
68
+ help="Skip the adodbapi tests; useful for CI where there's no provider",
69
+ )
70
+
71
+ args, remains = parser.parse_known_args()
72
+
73
+ # win32, win32ui / Pythonwin
74
+
75
+ extras = []
76
+ if args.user_interaction:
77
+ extras.append("-user-interaction")
78
+ extras.extend(remains)
79
+ scripts = [
80
+ "win32/test/testall.py",
81
+ "Pythonwin/pywin/test/all.py",
82
+ ]
83
+ for script in scripts:
84
+ maybes = [os.path.join(directory, script) for directory in code_directories]
85
+ find_and_run(maybes, extras)
86
+
87
+ # win32com
88
+ maybes = [
89
+ os.path.join(directory, "win32com", "test", "testall.py")
90
+ for directory in [os.path.join(project_root, "com")] + site_packages
91
+ ]
92
+ extras = remains + ["1"] # only run "level 1" tests in CI
93
+ find_and_run(maybes, extras)
94
+
95
+ # adodbapi
96
+ if not args.skip_adodbapi:
97
+ maybes = [
98
+ os.path.join(directory, "adodbapi", "test", "adodbapitest.py")
99
+ for directory in code_directories
100
+ ]
101
+ find_and_run(maybes, remains)
102
+ # This script has a hard-coded sql server name in it, (and markh typically
103
+ # doesn't have a different server to test on) but there is now supposed to be a server out there on the Internet
104
+ # just to run these tests, so try it...
105
+ maybes = [
106
+ os.path.join(directory, "adodbapi", "test", "test_adodbapi_dbapi20.py")
107
+ for directory in code_directories
108
+ ]
109
+ find_and_run(maybes, remains)
110
+
111
+ if failures:
112
+ print("The following scripts failed")
113
+ for failure in failures:
114
+ print(">", failure)
115
+ sys.exit(1)
116
+ print("All tests passed \\o/")
117
+
118
+
119
+ if __name__ == "__main__":
120
+ main()
@@ -447,8 +447,7 @@ def RegisterShellInfo(searchPaths):
447
447
 
448
448
  # FindRegisterApp("win32", ["win32con.pyc", "win32api%s.pyd" % suffix], searchPaths)
449
449
 
450
- usage = (
451
- """\
450
+ usage = """\
452
451
  regsetup.py - Setup/maintain the registry for Python apps.
453
452
 
454
453
  Run without options, (but possibly search paths) to repair a totally broken
@@ -475,9 +474,7 @@ Usage: %s [options ...] paths ...
475
474
 
476
475
  --description -- Print a description of the usage.
477
476
  --examples -- Print examples of usage.
478
- """
479
- % sys.argv[0]
480
- )
477
+ """ % sys.argv[0]
481
478
 
482
479
  description = """\
483
480
  If no options are processed, the program attempts to validate and set
@@ -500,9 +497,9 @@ of the registry.
500
497
  # Using raw string so that all paths meant to be copied read correctly inline and when printed
501
498
  examples = r"""
502
499
  Examples:
503
- "regsetup c:\wierd\spot\1 c:\wierd\spot\2"
500
+ "regsetup c:\weird\spot\1 c:\weird\spot\2"
504
501
  Attempts to setup the core Python. Looks in some standard places,
505
- as well as the 2 wierd spots to locate the core Python files (eg, Python.exe,
502
+ as well as the 2 weird spots to locate the core Python files (eg, Python.exe,
506
503
  pythonXX.dll, the standard library and Win32 Extensions).
507
504
 
508
505
  "regsetup -a myappname . .\subdir"
@@ -61,7 +61,7 @@ def _docopy(src, dest):
61
61
  return 1
62
62
  except:
63
63
  print(f"Error copying '{src}' -> '{dest}'")
64
- print(str(sys.exc_info()[1]))
64
+ print(sys.exc_info()[1])
65
65
  usage_and_die(3)
66
66
 
67
67
 
@@ -5,6 +5,14 @@ import pywintypes
5
5
  import win32api
6
6
 
7
7
 
8
+ class TestError1(Exception):
9
+ pass
10
+
11
+
12
+ class TestError2(Exception):
13
+ pass
14
+
15
+
8
16
  # A class that will never die vie refcounting, but will die via GC.
9
17
  class Cycle:
10
18
  def __init__(self, handle):
@@ -21,7 +29,7 @@ class PyHandleTestCase(unittest.TestCase):
21
29
  h = win32event.CreateEvent(None, 0, 0, None)
22
30
  if invalidate:
23
31
  win32api.CloseHandle(int(h))
24
- 1 / 0
32
+ raise TestError1
25
33
  # If we invalidated, then the object destruction code will attempt
26
34
  # to close an invalid handle. We don't wan't an exception in
27
35
  # this case
@@ -30,13 +38,13 @@ class PyHandleTestCase(unittest.TestCase):
30
38
  """This function should throw an OSError."""
31
39
  try:
32
40
  f1(invalidate)
33
- except ZeroDivisionError as exc:
34
- raise OSError("raise 2")
41
+ except TestError1:
42
+ raise TestError2
35
43
 
36
- self.assertRaises(OSError, f2, False)
44
+ self.assertRaises(TestError2, f2, False)
37
45
  # Now do it again, but so the auto object destruction
38
46
  # actually fails.
39
- self.assertRaises(OSError, f2, True)
47
+ self.assertRaises(TestError2, f2, True)
40
48
 
41
49
  def testCleanup2(self):
42
50
  # Cause an exception during object destruction.
@@ -7,7 +7,18 @@ import unittest
7
7
  import pywintypes
8
8
  import win32con
9
9
  import win32gui
10
- from win32clipboard import *
10
+ from win32clipboard import (
11
+ CloseClipboard,
12
+ EmptyClipboard,
13
+ GetClipboardData,
14
+ GetClipboardDataHandle,
15
+ GetClipboardFormatName,
16
+ GetGlobalMemory,
17
+ OpenClipboard,
18
+ RegisterClipboardFormat,
19
+ SetClipboardData,
20
+ SetClipboardText,
21
+ )
11
22
 
12
23
  custom_format_name = "PythonClipboardTestFormat"
13
24
 
@@ -84,7 +84,7 @@ class TestSSPI(unittest.TestCase):
84
84
 
85
85
  def _doTestEncryptStream(self, pkg_name):
86
86
  # Test out the SSPI/GSSAPI interop wrapping examples at
87
- # https://docs.microsoft.com/en-us/windows/win32/secauthn/sspi-kerberos-interoperability-with-gssapi
87
+ # https://learn.microsoft.com/en-us/windows/win32/secauthn/sspi-kerberos-interoperability-with-gssapi
88
88
 
89
89
  sspiclient, sspiserver = self._doAuth(pkg_name)
90
90
 
@@ -14,6 +14,10 @@ import winerror
14
14
  from pywin32_testutil import TestSkipped
15
15
 
16
16
 
17
+ class TestError(Exception):
18
+ pass
19
+
20
+
17
21
  class CurrentUserTestCase(unittest.TestCase):
18
22
  def testGetCurrentUser(self):
19
23
  domain = win32api.GetDomainName()
@@ -63,7 +67,7 @@ class Registry(unittest.TestCase):
63
67
  # This used to leave a stale exception behind.
64
68
  def reg_operation():
65
69
  hkey = win32api.RegCreateKey(win32con.HKEY_CURRENT_USER, self.key_name)
66
- x = 3 / 0 # or a statement like: raise Exception
70
+ raise TestError
67
71
 
68
72
  # do the test
69
73
  try:
@@ -71,10 +75,10 @@ class Registry(unittest.TestCase):
71
75
  try:
72
76
  reg_operation()
73
77
  except:
74
- 1 / 0 # Force exception
78
+ raise TestError # Force a TestError
75
79
  finally:
76
80
  win32api.RegDeleteKey(win32con.HKEY_CURRENT_USER, self.key_name)
77
- except ZeroDivisionError:
81
+ except TestError:
78
82
  pass
79
83
 
80
84
  def testValues(self):
@@ -262,7 +266,7 @@ class Misc(unittest.TestCase):
262
266
  "BatteryLifeTime",
263
267
  "BatteryFullLifeTime",
264
268
  )
265
- self.assertEqual(set(test_keys), set(sps.keys()))
269
+ self.assertEqual(set(test_keys), set(sps))
266
270
 
267
271
 
268
272
  if __name__ == "__main__":
@@ -5,7 +5,6 @@ import win32clipboard
5
5
 
6
6
 
7
7
  class TestGetSetClipboardData(unittest.TestCase):
8
-
9
8
  def copyData(self, data, format_):
10
9
  win32clipboard.OpenClipboard()
11
10
  ret = None
@@ -30,13 +29,13 @@ class TestGetSetClipboardData(unittest.TestCase):
30
29
  test_data = {
31
30
  "Dummy str": win32clipboard.CF_UNICODETEXT,
32
31
  b"Dummy bytes text": win32clipboard.CF_TEXT,
33
- b"Dummy\x00\xFF bytes": win32clipboard.CF_DIB,
32
+ b"Dummy\x00\xff bytes": win32clipboard.CF_DIB,
34
33
  }
35
34
  for data, fmt in test_data.items():
36
35
  self.assertEqual(data, self.copyData(data, fmt))
37
36
  test_data = {
38
37
  "Dummy str": (win32clipboard.CF_TEXT, win32clipboard.CF_DIB),
39
- b"Dummy\x00\xFF bytes": (win32clipboard.CF_UNICODETEXT,),
38
+ b"Dummy\x00\xff bytes": (win32clipboard.CF_UNICODETEXT,),
40
39
  }
41
40
  for data, formats in test_data.items():
42
41
  for fmt in formats:
@@ -5,7 +5,6 @@ import win32cred
5
5
 
6
6
 
7
7
  class TestCredFunctions(unittest.TestCase):
8
-
9
8
  def setUp(self):
10
9
  self.flags = 0
11
10
  self.dummy_cred = {
@@ -2,11 +2,24 @@
2
2
 
3
3
  import contextlib
4
4
  import unittest
5
- from typing import Any, Iterator
5
+ from collections.abc import Iterator
6
+ from typing import Any
6
7
 
7
8
  import win32crypt
8
- from pywin32_testutil import TestSkipped, find_test_fixture, testmain
9
- from win32cryptcon import *
9
+ from pywin32_testutil import find_test_fixture, testmain
10
+ from win32cryptcon import (
11
+ CERT_QUERY_CONTENT_CERT,
12
+ CERT_QUERY_CONTENT_FLAG_CERT,
13
+ CERT_QUERY_FORMAT_BASE64_ENCODED,
14
+ CERT_QUERY_FORMAT_BINARY,
15
+ CERT_QUERY_FORMAT_FLAG_ALL,
16
+ CERT_QUERY_OBJECT_BLOB,
17
+ CERT_QUERY_OBJECT_FILE,
18
+ CERT_STORE_ADD_REPLACE_EXISTING,
19
+ CERT_STORE_PROV_SYSTEM,
20
+ CERT_SYSTEM_STORE_CURRENT_USER,
21
+ CERT_SYSTEM_STORE_LOCAL_MACHINE,
22
+ )
10
23
 
11
24
 
12
25
  class Crypt(unittest.TestCase):
@@ -227,16 +227,25 @@ class TestSimpleOps(unittest.TestCase):
227
227
  )
228
228
  try:
229
229
  ct, at, wt = win32file.GetFileTime(f)
230
- self.assertTrue(
231
- ct >= now,
230
+ # NOTE (Avasam): I've seen the time be off from -0.003 to +1.11 seconds,
231
+ # so the above comment about microseconds might be wrong.
232
+ # Let's standardize ms and avoid random CI failures
233
+ # https://github.com/mhammond/pywin32/issues/2203
234
+ ct = ct.replace(microsecond=0)
235
+ at = at.replace(microsecond=0)
236
+ wt = wt.replace(microsecond=0)
237
+ self.assertGreaterEqual(
238
+ ct,
239
+ now,
232
240
  f"File was created in the past - now={now}, created={ct}",
233
241
  )
234
- self.assertTrue(now <= ct <= nowish, (now, ct))
235
- self.assertTrue(
236
- wt >= now,
242
+ self.assertTrue(now <= ct <= nowish, (now, ct, nowish))
243
+ self.assertGreaterEqual(
244
+ wt,
245
+ now,
237
246
  f"File was written-to in the past now={now}, written={wt}",
238
247
  )
239
- self.assertTrue(now <= wt <= nowish, (now, wt))
248
+ self.assertTrue(now <= wt <= nowish, (now, wt, nowish))
240
249
 
241
250
  # Now set the times.
242
251
  win32file.SetFileTime(f, later, later, later, UTCTimes=True)
@@ -632,7 +641,10 @@ class TestDirectoryChanges(unittest.TestCase):
632
641
  try:
633
642
  print("waiting", dh)
634
643
  changes = win32file.ReadDirectoryChangesW(
635
- dh, 8192, False, flags # sub-tree
644
+ dh,
645
+ 8192,
646
+ False, # sub-tree
647
+ flags,
636
648
  )
637
649
  print("got", changes)
638
650
  except:
@@ -646,7 +658,11 @@ class TestDirectoryChanges(unittest.TestCase):
646
658
  overlapped.hEvent = win32event.CreateEvent(None, 0, 0, None)
647
659
  while 1:
648
660
  win32file.ReadDirectoryChangesW(
649
- dh, buf, False, flags, overlapped # sub-tree
661
+ dh,
662
+ buf,
663
+ False, # sub-tree
664
+ flags,
665
+ overlapped,
650
666
  )
651
667
  # Wait for our event, or for 5 seconds.
652
668
  rc = win32event.WaitForSingleObject(overlapped.hEvent, 5000)
@@ -4,7 +4,6 @@ import operator
4
4
  import sys
5
5
  import unittest
6
6
 
7
- import pywin32_testutil
8
7
  import pywintypes
9
8
  import win32api
10
9
  import win32gui
@@ -3,7 +3,6 @@ import unittest
3
3
 
4
4
  import pythoncom
5
5
  import win32con
6
- import win32gui
7
6
  import win32gui_struct
8
7
 
9
8
 
@@ -13,10 +12,8 @@ class TestBase(unittest.TestCase):
13
12
  for n, v in kw.items():
14
13
  self.assertEqual(v, d[n], f"'{n}' doesn't match: {v!r} != {d[n]!r}")
15
14
  checked[n] = True
16
- checked_keys = list(checked.keys())
17
- passed_keys = list(kw.keys())
18
- checked_keys.sort()
19
- passed_keys.sort()
15
+ checked_keys = sorted(checked)
16
+ passed_keys = sorted(kw)
20
17
  self.assertEqual(checked_keys, passed_keys)
21
18
 
22
19
 
@@ -2,22 +2,39 @@ import unittest
2
2
 
3
3
  import winerror
4
4
  from pywin32_testutil import TestSkipped, testmain
5
- from win32inet import *
6
- from win32inetcon import *
5
+ from win32inet import (
6
+ FtpCommand,
7
+ InternetCanonicalizeUrl,
8
+ InternetConnect,
9
+ InternetGetCookie,
10
+ InternetGetLastResponseInfo,
11
+ InternetOpen,
12
+ InternetOpenUrl,
13
+ InternetReadFile,
14
+ InternetSetCookie,
15
+ error,
16
+ )
17
+ from win32inetcon import (
18
+ FTP_TRANSFER_TYPE_ASCII,
19
+ INTERNET_FLAG_EXISTING_CONNECT,
20
+ INTERNET_INVALID_PORT_NUMBER,
21
+ INTERNET_OPEN_TYPE_DIRECT,
22
+ INTERNET_SERVICE_FTP,
23
+ )
7
24
 
8
25
 
9
26
  class CookieTests(unittest.TestCase):
10
27
  def testCookies(self):
11
28
  data = "TestData=Test"
12
- InternetSetCookie("http://www.python.org", None, data)
13
- got = InternetGetCookie("http://www.python.org", None)
29
+ InternetSetCookie("https://www.python.org", None, data)
30
+ got = InternetGetCookie("https://www.python.org", None)
14
31
  # handle that there might already be cookies for the domain.
15
32
  bits = (x.strip() for x in got.split(";"))
16
33
  self.assertTrue(data in bits)
17
34
 
18
35
  def testCookiesEmpty(self):
19
36
  try:
20
- InternetGetCookie("http://site-with-no-cookie.python.org", None)
37
+ InternetGetCookie("https://site-with-no-cookie.python.org", None)
21
38
  self.fail("expected win32 exception")
22
39
  except error as exc:
23
40
  self.assertEqual(exc.winerror, winerror.ERROR_NO_MORE_ITEMS)
@@ -44,7 +61,7 @@ class TestNetwork(unittest.TestCase):
44
61
 
45
62
  def testPythonDotOrg(self):
46
63
  hdl = InternetOpenUrl(
47
- self.hi, "http://www.python.org", None, INTERNET_FLAG_EXISTING_CONNECT
64
+ self.hi, "https://www.python.org", None, INTERNET_FLAG_EXISTING_CONNECT
48
65
  )
49
66
  chunks = []
50
67
  while 1:
@@ -1,7 +1,6 @@
1
1
  import unittest
2
2
 
3
3
  import win32net
4
- import win32netcon
5
4
 
6
5
 
7
6
  class TestCase(unittest.TestCase):
@@ -0,0 +1,19 @@
1
+ # Tests for win32ts module
2
+
3
+ import unittest
4
+
5
+ import win32ts
6
+
7
+
8
+ class Win32TsTestCase(unittest.TestCase):
9
+ def test_is_remote_session(self):
10
+ ret = win32ts.WTSQuerySessionInformation(
11
+ win32ts.WTS_CURRENT_SERVER_HANDLE,
12
+ win32ts.WTS_CURRENT_SESSION,
13
+ win32ts.WTSIsRemoteSession,
14
+ )
15
+ self.assertIsInstance(ret, bool)
16
+
17
+
18
+ if __name__ == "__main__":
19
+ unittest.main()
@@ -3,19 +3,11 @@ The `winxpgui` module is obsolete and has been completely replaced \
3
3
  by `win32gui` and `win32console.GetConsoleWindow`. Use those instead. \
4
4
  """
5
5
 
6
- from __future__ import annotations
7
-
8
6
  import warnings
9
7
 
10
- from win32console import (
8
+ from win32console import ( # nopycln: import
11
9
  GetConsoleWindow as GetConsoleWindow, # noqa: PLC0414 # Explicit re-export
12
10
  )
13
- from win32gui import *
11
+ from win32gui import * # nopycln: import
14
12
 
15
- warnings.warn(
16
- """\
17
- The `winxpgui` module is obsolete and has been completely replaced \
18
- by `win32gui` and `win32console.GetConsoleWindow`. Use those instead. \
19
- """,
20
- category=DeprecationWarning,
21
- )
13
+ warnings.warn(str(__doc__), category=DeprecationWarning)
@@ -17,7 +17,9 @@ This obviously applies to all cooperating objects, not just DAO and
17
17
  Access.
18
18
  """
19
19
 
20
- mapCLSIDToClass = {}
20
+ from __future__ import annotations
21
+
22
+ mapCLSIDToClass: dict[str, type] = {}
21
23
 
22
24
 
23
25
  def RegisterCLSID(clsid, pythonClass):