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
@@ -1,850 +0,0 @@
1
- ######################################################################
2
- ##
3
- ## The Pychecker MDI Plug-In UserModule for Pythonwin
4
- ##
5
- ## contributed by Robert Kiendl
6
- ##
7
- ## Style is similar to (and inherited) from the SGrepMDI UserModule
8
- ##
9
- ## Usage:
10
- ##
11
- ## Start Pychecker on current file: Menu/File/New../Pychecker.
12
- ## Use it: Jump to Pychecker warning source lines by double-click.
13
- ## Auto-add "#$pycheck_no" / "#$pycheck_no=specific-re-pattern" tags
14
- ## to source lines by context/right-mouse-click on warning lines.
15
- ##
16
- ## It requires pychecker installed and the pychecker.bat to be on
17
- ## the PATH. Example pychecker.bat:
18
- ##
19
- ## REM pychecker.bat
20
- ## C:\bin\python.exe C:\PythonXX\Lib\site-packages\pychecker\checker.py %1 %2 %3 %4 %5 %6 %7 %8 %9
21
- ##
22
- ## Adding it as default module in PythonWin:
23
- ##
24
- ## +++ ./intpyapp.py 2006-10-02 17:59:32.974161600 +0200
25
- ## @@ -272,7 +282,7 @@
26
- ## def LoadUserModules(self, moduleNames = None):
27
- ## # Load the users modules.
28
- ## if moduleNames is None:
29
- ## - default = "sgrepmdi"
30
- ## + default = "sgrepmdi,mdi_pychecker"
31
- ## moduleNames=win32ui.GetProfileVal('Python','Startup Modules',default)
32
- ## self.DoLoadModules(moduleNames)
33
- ##
34
- ######################################################################
35
-
36
- import glob
37
- import os
38
- import re
39
- import sys
40
- import time
41
- from functools import reduce
42
-
43
- import win32api
44
- import win32con
45
- import win32ui
46
- from pywin.mfc import dialog, docview, window
47
-
48
- from . import scriptutils
49
-
50
-
51
- def getsubdirs(d):
52
- dlist = []
53
- flist = glob.glob(d + "\\*")
54
- for f in flist:
55
- if os.path.isdir(f):
56
- dlist.append(f)
57
- dlist.extend(getsubdirs(f))
58
- return dlist
59
-
60
-
61
- class dirpath:
62
- def __init__(self, str, recurse=0):
63
- dp = str.split(";")
64
- dirs = {}
65
- for d in dp:
66
- if os.path.isdir(d):
67
- d = d.lower()
68
- if d not in dirs:
69
- dirs[d] = None
70
- if recurse:
71
- subdirs = getsubdirs(d)
72
- for sd in subdirs:
73
- sd = sd.lower()
74
- if sd not in dirs:
75
- dirs[sd] = None
76
- elif os.path.isfile(d):
77
- pass
78
- else:
79
- x = None
80
- if d in os.environ:
81
- x = dirpath(os.environ[d])
82
- elif d[:5] == "HKEY_":
83
- keystr = d.split("\\")
84
- try:
85
- root = eval("win32con." + keystr[0])
86
- except:
87
- win32ui.MessageBox(
88
- "Can't interpret registry key name '%s'" % keystr[0]
89
- )
90
- try:
91
- subkey = "\\".join(keystr[1:])
92
- val = win32api.RegQueryValue(root, subkey)
93
- if val:
94
- x = dirpath(val)
95
- else:
96
- win32ui.MessageBox(
97
- "Registry path '%s' did not return a path entry" % d
98
- )
99
- except:
100
- win32ui.MessageBox(
101
- "Can't interpret registry key value: %s" % keystr[1:]
102
- )
103
- else:
104
- win32ui.MessageBox("Directory '%s' not found" % d)
105
- if x:
106
- for xd in x:
107
- if xd not in dirs:
108
- dirs[xd] = None
109
- if recurse:
110
- subdirs = getsubdirs(xd)
111
- for sd in subdirs:
112
- sd = sd.lower()
113
- if sd not in dirs:
114
- dirs[sd] = None
115
- self.dirs = []
116
- for d in dirs.keys():
117
- self.dirs.append(d)
118
-
119
- def __getitem__(self, key):
120
- return self.dirs[key]
121
-
122
- def __len__(self):
123
- return len(self.dirs)
124
-
125
- def __setitem__(self, key, value):
126
- self.dirs[key] = value
127
-
128
- def __delitem__(self, key):
129
- del self.dirs[key]
130
-
131
- def __getslice__(self, lo, hi):
132
- return self.dirs[lo:hi]
133
-
134
- def __setslice__(self, lo, hi, seq):
135
- self.dirs[lo:hi] = seq
136
-
137
- def __delslice__(self, lo, hi):
138
- del self.dirs[lo:hi]
139
-
140
- def __add__(self, other):
141
- if isinstance(other, (dirpath, list)):
142
- return self.dirs + other.dirs
143
-
144
- def __radd__(self, other):
145
- if isinstance(other, (dirpath, list)):
146
- return other.dirs + self.dirs
147
-
148
-
149
- # Group(1) is the filename, group(2) is the lineno.
150
- # regexGrepResult=regex.compile(r"^\([a-zA-Z]:.*\)(\([0-9]+\))")
151
- # regexGrep=re.compile(r"^([a-zA-Z]:[^(]*)\((\d+)\)")
152
- regexGrep = re.compile(r"^(..[^\(:]+)?[\(:](\d+)[\):]:?\s*(.*)")
153
-
154
- # these are the atom numbers defined by Windows for basic dialog controls
155
-
156
- BUTTON = 0x80
157
- EDIT = 0x81
158
- STATIC = 0x82
159
- LISTBOX = 0x83
160
- SCROLLBAR = 0x84
161
- COMBOBOX = 0x85
162
-
163
-
164
- class TheTemplate(docview.RichEditDocTemplate):
165
- def __init__(self):
166
- docview.RichEditDocTemplate.__init__(
167
- self, win32ui.IDR_TEXTTYPE, TheDocument, TheFrame, TheView
168
- )
169
- self.SetDocStrings(
170
- "\nPychecker\nPychecker\nPychecker params (*.pychecker)\n.pychecker\n\n\n"
171
- )
172
- win32ui.GetApp().AddDocTemplate(self)
173
- self.docparams = None
174
-
175
- def MatchDocType(self, fileName, fileType):
176
- doc = self.FindOpenDocument(fileName)
177
- if doc:
178
- return doc
179
- ext = os.path.splitext(fileName)[1].lower()
180
- if ext == ".pychecker":
181
- return win32ui.CDocTemplate_Confidence_yesAttemptNative
182
- return win32ui.CDocTemplate_Confidence_noAttempt
183
-
184
- def setParams(self, params):
185
- self.docparams = params
186
-
187
- def readParams(self):
188
- tmp = self.docparams
189
- self.docparams = None
190
- return tmp
191
-
192
-
193
- class TheFrame(window.MDIChildWnd):
194
- # The template and doc params will one day be removed.
195
- def __init__(self, wnd=None):
196
- window.MDIChildWnd.__init__(self, wnd)
197
-
198
-
199
- class TheDocument(docview.RichEditDoc):
200
- def __init__(self, template):
201
- docview.RichEditDoc.__init__(self, template)
202
- self.dirpattern = ""
203
- self.filpattern = ""
204
- self.greppattern = ""
205
- self.casesensitive = 1
206
- self.recurse = 1
207
- self.verbose = 0
208
-
209
- def OnOpenDocument(self, fnm):
210
- # this bizarre stuff with params is so right clicking in a result window
211
- # and starting a new grep can communicate the default parameters to the
212
- # new grep.
213
- try:
214
- params = open(fnm, "r").read()
215
- except:
216
- params = None
217
- self.setInitParams(params)
218
- return self.OnNewDocument()
219
-
220
- def OnCloseDocument(self):
221
- try:
222
- win32ui.GetApp().DeleteIdleHandler(self.idleHandler)
223
- except:
224
- pass
225
- return self._obj_.OnCloseDocument()
226
-
227
- def saveInitParams(self):
228
- # Only save the flags, not the text boxes.
229
- paramstr = "\t\t\t%d\t%d" % (self.casesensitive, self.recurse)
230
- win32ui.WriteProfileVal("Pychecker", "Params", paramstr)
231
-
232
- def setInitParams(self, paramstr):
233
- if paramstr is None:
234
- paramstr = win32ui.GetProfileVal("Pychecker", "Params", "\t\t\t1\t0\t0")
235
- params = paramstr.split("\t")
236
- if len(params) < 3:
237
- params.extend([""] * (3 - len(params)))
238
- if len(params) < 6:
239
- params.extend([0] * (6 - len(params)))
240
- self.dirpattern = params[0]
241
- self.filpattern = params[1]
242
- self.greppattern = params[2] or "-#1000 --only"
243
- self.casesensitive = int(params[3])
244
- self.recurse = int(params[4])
245
- self.verbose = int(params[5])
246
- # setup some reasonable defaults.
247
- if not self.dirpattern:
248
- try:
249
- editor = win32ui.GetMainFrame().MDIGetActive()[0].GetEditorView()
250
- self.dirpattern = os.path.abspath(
251
- os.path.dirname(editor.GetDocument().GetPathName())
252
- )
253
- except (AttributeError, win32ui.error):
254
- self.dirpattern = os.getcwd()
255
- if not self.filpattern:
256
- try:
257
- editor = win32ui.GetMainFrame().MDIGetActive()[0].GetEditorView()
258
- self.filpattern = editor.GetDocument().GetPathName()
259
- except AttributeError:
260
- self.filpattern = "*.py"
261
-
262
- def OnNewDocument(self):
263
- if self.dirpattern == "":
264
- self.setInitParams(greptemplate.readParams())
265
- d = TheDialog(
266
- self.dirpattern,
267
- self.filpattern,
268
- self.greppattern,
269
- self.casesensitive,
270
- self.recurse,
271
- self.verbose,
272
- )
273
- if d.DoModal() == win32con.IDOK:
274
- self.dirpattern = d["dirpattern"]
275
- self.filpattern = d["filpattern"]
276
- self.greppattern = d["greppattern"]
277
- # self.casesensitive = d['casesensitive']
278
- # self.recurse = d['recursive']
279
- # self.verbose = d['verbose']
280
- self.doSearch()
281
- self.saveInitParams()
282
- return 1
283
- return 0 # cancelled - return zero to stop frame creation.
284
-
285
- def doSearch(self):
286
- self.dp = dirpath(self.dirpattern, self.recurse)
287
- self.SetTitle(
288
- f"Pychecker Run '{self.filpattern}' (options: {self.greppattern})"
289
- )
290
- # self.text = []
291
- self.GetFirstView().Append(
292
- "#Pychecker Run in " + self.dirpattern + " %s\n" % time.asctime()
293
- )
294
- if self.verbose:
295
- self.GetFirstView().Append("# =" + repr(self.dp.dirs) + "\n")
296
- self.GetFirstView().Append("# Files " + self.filpattern + "\n")
297
- self.GetFirstView().Append("# Options " + self.greppattern + "\n")
298
- self.fplist = self.filpattern.split(";")
299
- self.GetFirstView().Append(
300
- "# Running... ( double click on result lines in order to jump to the source code ) \n"
301
- )
302
- win32ui.SetStatusText("Pychecker running. Please wait...", 0)
303
- self.dpndx = self.fpndx = 0
304
- self.fndx = -1
305
- if not self.dp:
306
- self.GetFirstView().Append(
307
- "# ERROR: '%s' does not resolve to any search locations"
308
- % self.dirpattern
309
- )
310
- self.SetModifiedFlag(0)
311
- else:
312
- ##self.flist = glob.glob(self.dp[0]+'\\'+self.fplist[0])
313
- import operator
314
-
315
- self.flist = reduce(operator.add, list(map(glob.glob, self.fplist)))
316
- # import pywin.debugger;pywin.debugger.set_trace()
317
- self.startPycheckerRun()
318
-
319
- def idleHandler(self, handler, count):
320
- import time
321
-
322
- time.sleep(0.001)
323
- if self.result is not None:
324
- win32ui.GetApp().DeleteIdleHandler(self.idleHandler)
325
- return 0
326
- return 1 # more
327
-
328
- def startPycheckerRun(self):
329
- self.result = None
330
- old = win32api.SetCursor(win32api.LoadCursor(0, win32con.IDC_APPSTARTING))
331
- win32ui.GetApp().AddIdleHandler(self.idleHandler)
332
- import _thread
333
-
334
- _thread.start_new(self.threadPycheckerRun, ())
335
- ##win32api.SetCursor(old)
336
-
337
- def threadPycheckerRun(self):
338
- result = ""
339
- rc = -1
340
- try:
341
- options = self.greppattern
342
- files = " ".join(self.flist)
343
- # Recently MarkH has failed to run pychecker without it having
344
- # been explicitly installed - so we assume it is and locate it
345
- # from its default location.
346
- # Step1 - get python.exe
347
- py = os.path.join(sys.prefix, "python.exe")
348
- if not os.path.isfile(py):
349
- if "64 bit" in sys.version:
350
- py = os.path.join(sys.prefix, "PCBuild", "amd64", "python.exe")
351
- else:
352
- py = os.path.join(sys.prefix, "PCBuild", "python.exe")
353
- try:
354
- py = win32api.GetShortPathName(py)
355
- except win32api.error:
356
- py = ""
357
- # Find checker.py
358
- import sysconfig
359
-
360
- pychecker = os.path.join(
361
- sysconfig.get_paths()["purelib"], "pychecker", "checker.py"
362
- )
363
- if not os.path.isfile(py):
364
- result = "Can't find python.exe!\n"
365
- elif not os.path.isfile(pychecker):
366
- result = (
367
- "Can't find checker.py - please install pychecker "
368
- "(or run 'setup.py install' if you have the source version)\n"
369
- )
370
- else:
371
- cmd = f'{py} "{pychecker}" {options} {files} 2>&1'
372
- ##fin,fout,ferr=os.popen3(cmd)
373
- ##result=ferr.read()+fout.read()
374
- result = os.popen(cmd).read()
375
- ##rc=f.close()
376
- self.GetFirstView().Append(result)
377
- finally:
378
- self.result = result
379
- print("== Pychecker run finished ==")
380
- self.GetFirstView().Append("\n" + "== Pychecker run finished ==")
381
- self.SetModifiedFlag(0)
382
-
383
- def _inactive_idleHandler(self, handler, count):
384
- self.fndx += 1
385
- if self.fndx < len(self.flist):
386
- f = self.flist[self.fndx]
387
- if self.verbose:
388
- self.GetFirstView().Append("# .." + f + "\n")
389
- win32ui.SetStatusText("Searching " + f, 0)
390
- lines = open(f, "r").readlines()
391
- for i in range(len(lines)):
392
- line = lines[i]
393
- if self.pat.search(line) is not None:
394
- self.GetFirstView().Append(f + "(" + repr(i + 1) + ") " + line)
395
- else:
396
- self.fndx = -1
397
- self.fpndx += 1
398
- if self.fpndx < len(self.fplist):
399
- self.flist = glob.glob(
400
- self.dp[self.dpndx] + "\\" + self.fplist[self.fpndx]
401
- )
402
- else:
403
- self.fpndx = 0
404
- self.dpndx += 1
405
- if self.dpndx < len(self.dp):
406
- self.flist = glob.glob(
407
- self.dp[self.dpndx] + "\\" + self.fplist[self.fpndx]
408
- )
409
- else:
410
- win32ui.SetStatusText("Search complete.", 0)
411
- self.SetModifiedFlag(0) # default to not modified.
412
- try:
413
- win32ui.GetApp().DeleteIdleHandler(self.idleHandler)
414
- except:
415
- pass
416
- return 0
417
- return 1
418
-
419
- def GetParams(self):
420
- return (
421
- self.dirpattern
422
- + "\t"
423
- + self.filpattern
424
- + "\t"
425
- + self.greppattern
426
- + "\t"
427
- + repr(self.casesensitive)
428
- + "\t"
429
- + repr(self.recurse)
430
- + "\t"
431
- + repr(self.verbose)
432
- )
433
-
434
- def OnSaveDocument(self, filename):
435
- # print("OnSaveDocument() filename=",filename)
436
- savefile = open(filename, "wb")
437
- txt = self.GetParams() + "\n"
438
- # print("writing",txt)
439
- savefile.write(txt)
440
- savefile.close()
441
- self.SetModifiedFlag(0)
442
- return 1
443
-
444
-
445
- ID_OPEN_FILE = 0xE500
446
- ID_PYCHECKER = 0xE501
447
- ID_SAVERESULTS = 0x502
448
- ID_TRYAGAIN = 0x503
449
- ID_ADDCOMMENT = 0x504
450
- ID_ADDPYCHECKNO2 = 0x505
451
-
452
-
453
- class TheView(docview.RichEditView):
454
- def __init__(self, doc):
455
- docview.RichEditView.__init__(self, doc)
456
- self.SetWordWrap(win32ui.CRichEditView_WrapNone)
457
- self.HookHandlers()
458
-
459
- def OnInitialUpdate(self):
460
- rc = self._obj_.OnInitialUpdate()
461
- format = (-402653169, 0, 200, 0, 0, 0, 49, "Courier New")
462
- self.SetDefaultCharFormat(format)
463
- return rc
464
-
465
- def HookHandlers(self):
466
- self.HookMessage(self.OnRClick, win32con.WM_RBUTTONDOWN)
467
- self.HookCommand(self.OnCmdOpenFile, ID_OPEN_FILE)
468
- self.HookCommand(self.OnCmdThe, ID_PYCHECKER)
469
- self.HookCommand(self.OnCmdSave, ID_SAVERESULTS)
470
- self.HookCommand(self.OnTryAgain, ID_TRYAGAIN)
471
- self.HookCommand(self.OnAddComment, ID_ADDCOMMENT)
472
- self.HookCommand(self.OnAddComment, ID_ADDPYCHECKNO2)
473
- self.HookMessage(self.OnLDblClick, win32con.WM_LBUTTONDBLCLK)
474
-
475
- def OnLDblClick(self, params):
476
- line = self.GetLine()
477
- regexGrepResult = regexGrep.match(line)
478
- if regexGrepResult:
479
- fname = regexGrepResult.group(1)
480
- line = int(regexGrepResult.group(2))
481
- scriptutils.JumpToDocument(fname, line)
482
- return 0 # don't pass on
483
- return 1 # pass it on by default.
484
-
485
- def OnRClick(self, params):
486
- menu = win32ui.CreatePopupMenu()
487
- flags = win32con.MF_STRING | win32con.MF_ENABLED
488
- lineno = self._obj_.LineFromChar(-1) # selection or current line
489
- line = self._obj_.GetLine(lineno)
490
- regexGrepResult = regexGrep.match(line)
491
- charstart, charend = self._obj_.GetSel()
492
- if regexGrepResult:
493
- self.fnm = regexGrepResult.group(1)
494
- self.lnnum = int(regexGrepResult.group(2))
495
- menu.AppendMenu(flags, ID_OPEN_FILE, "&Open " + self.fnm)
496
- menu.AppendMenu(
497
- flags, ID_ADDCOMMENT, "&Add to source: Comment Tag/#$pycheck_no .."
498
- )
499
- menu.AppendMenu(
500
- flags,
501
- ID_ADDPYCHECKNO2,
502
- "&Add to source: Specific #$pycheck_no=%(errtext)s ..",
503
- )
504
- menu.AppendMenu(win32con.MF_SEPARATOR)
505
- menu.AppendMenu(flags, ID_TRYAGAIN, "&Try Again")
506
- menu.AppendMenu(flags, win32ui.ID_EDIT_CUT, "Cu&t")
507
- menu.AppendMenu(flags, win32ui.ID_EDIT_COPY, "&Copy")
508
- menu.AppendMenu(flags, win32ui.ID_EDIT_PASTE, "&Paste")
509
- menu.AppendMenu(flags, win32con.MF_SEPARATOR)
510
- menu.AppendMenu(flags, win32ui.ID_EDIT_SELECT_ALL, "&Select all")
511
- menu.AppendMenu(flags, win32con.MF_SEPARATOR)
512
- menu.AppendMenu(flags, ID_SAVERESULTS, "Sa&ve results")
513
- menu.TrackPopupMenu(params[5])
514
- return 0
515
-
516
- def OnAddComment(self, cmd, code):
517
- addspecific = cmd == ID_ADDPYCHECKNO2
518
- _ = list(self.GetSel())
519
- _.sort()
520
- start, end = _
521
- line_start, line_end = self.LineFromChar(start), self.LineFromChar(end)
522
- first = 1
523
- for i in range(line_start, line_end + 1):
524
- line = self.GetLine(i)
525
- m = regexGrep.match(line)
526
- if m:
527
- if first:
528
- first = 0
529
- cmnt = dialog.GetSimpleInput(
530
- "Add to %s lines" % (line_end - line_start + 1),
531
- addspecific
532
- and " #$pycheck_no=%(errtext)s"
533
- or " #$pycheck_no",
534
- )
535
- if not cmnt:
536
- return 0
537
- ##import pywin.debugger;pywin.debugger.set_trace()
538
- fname = m.group(1)
539
- line = int(m.group(2))
540
- view = scriptutils.JumpToDocument(fname, line)
541
- pos = view.LineIndex(line) - 1
542
- if view.GetTextRange(pos - 1, pos) in ("\r", "\n"):
543
- pos -= 1
544
- view.SetSel(pos, pos)
545
- errtext = m.group(3)
546
- if start != end and line_start == line_end:
547
- errtext = self.GetSelText()
548
- errtext = repr(re.escape(errtext).replace(r"\ ", " "))
549
- view.ReplaceSel(addspecific and cmnt % locals() or cmnt)
550
- return 0
551
-
552
- def OnCmdOpenFile(self, cmd, code):
553
- doc = win32ui.GetApp().OpenDocumentFile(self.fnm)
554
- if doc:
555
- vw = doc.GetFirstView()
556
- # hope you have an editor that implements GotoLine()!
557
- try:
558
- vw.GotoLine(int(self.lnnum))
559
- except:
560
- pass
561
- return 0
562
-
563
- def OnCmdThe(self, cmd, code):
564
- curparamsstr = self.GetDocument().GetParams()
565
- params = curparamsstr.split("\t")
566
- params[2] = self.sel
567
- greptemplate.setParams("\t".join(params))
568
- greptemplate.OpenDocumentFile()
569
- return 0
570
-
571
- def OnTryAgain(self, cmd, code):
572
- greptemplate.setParams(self.GetDocument().GetParams())
573
- greptemplate.OpenDocumentFile()
574
- return 0
575
-
576
- def OnCmdSave(self, cmd, code):
577
- flags = win32con.OFN_OVERWRITEPROMPT
578
- dlg = win32ui.CreateFileDialog(
579
- 0, None, None, flags, "Text Files (*.txt)|*.txt||", self
580
- )
581
- dlg.SetOFNTitle("Save Results As")
582
- if dlg.DoModal() == win32con.IDOK:
583
- pn = dlg.GetPathName()
584
- self._obj_.SaveFile(pn)
585
- return 0
586
-
587
- def Append(self, strng):
588
- numlines = self.GetLineCount()
589
- endpos = self.LineIndex(numlines - 1) + len(self.GetLine(numlines - 1))
590
- self.SetSel(endpos, endpos)
591
- self.ReplaceSel(strng)
592
-
593
-
594
- class TheDialog(dialog.Dialog):
595
- def __init__(self, dp, fp, gp, cs, r, v):
596
- style = (
597
- win32con.DS_MODALFRAME
598
- | win32con.WS_POPUP
599
- | win32con.WS_VISIBLE
600
- | win32con.WS_CAPTION
601
- | win32con.WS_SYSMENU
602
- | win32con.DS_SETFONT
603
- )
604
- CS = win32con.WS_CHILD | win32con.WS_VISIBLE
605
- tmp = [
606
- ["Pychecker Run", (0, 0, 210, 90), style, None, (8, "MS Sans Serif")],
607
- ]
608
- tmp.append([STATIC, "Files:", -1, (7, 7, 50, 9), CS])
609
- tmp.append(
610
- [
611
- EDIT,
612
- gp,
613
- 103,
614
- (52, 7, 144, 11),
615
- CS | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL | win32con.WS_BORDER,
616
- ]
617
- )
618
- tmp.append([STATIC, "Directories:", -1, (7, 20, 50, 9), CS])
619
- tmp.append(
620
- [
621
- EDIT,
622
- dp,
623
- 102,
624
- (52, 20, 128, 11),
625
- CS | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL | win32con.WS_BORDER,
626
- ]
627
- )
628
- tmp.append(
629
- [
630
- BUTTON,
631
- "...",
632
- 110,
633
- (182, 20, 16, 11),
634
- CS | win32con.BS_PUSHBUTTON | win32con.WS_TABSTOP,
635
- ]
636
- )
637
- tmp.append([STATIC, "Options:", -1, (7, 33, 50, 9), CS])
638
- tmp.append(
639
- [
640
- EDIT,
641
- fp,
642
- 101,
643
- (52, 33, 128, 11),
644
- CS | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL | win32con.WS_BORDER,
645
- ]
646
- )
647
- tmp.append(
648
- [
649
- BUTTON,
650
- "...",
651
- 111,
652
- (182, 33, 16, 11),
653
- CS | win32con.BS_PUSHBUTTON | win32con.WS_TABSTOP,
654
- ]
655
- )
656
- # tmp.append([BUTTON,'Case sensitive', 104, (7, 45, 72, 9), CS | win32con.BS_AUTOCHECKBOX | win32con.BS_LEFTTEXT| win32con.WS_TABSTOP])
657
- # tmp.append([BUTTON,'Subdirectories', 105, (7, 56, 72, 9), CS | win32con.BS_AUTOCHECKBOX | win32con.BS_LEFTTEXT| win32con.WS_TABSTOP])
658
- # tmp.append([BUTTON,'Verbose', 106, (7, 67, 72, 9), CS | win32con.BS_AUTOCHECKBOX | win32con.BS_LEFTTEXT| win32con.WS_TABSTOP])
659
- tmp.append(
660
- [
661
- BUTTON,
662
- "OK",
663
- win32con.IDOK,
664
- (166, 53, 32, 12),
665
- CS | win32con.BS_DEFPUSHBUTTON | win32con.WS_TABSTOP,
666
- ]
667
- )
668
- tmp.append(
669
- [
670
- BUTTON,
671
- "Cancel",
672
- win32con.IDCANCEL,
673
- (166, 67, 32, 12),
674
- CS | win32con.BS_PUSHBUTTON | win32con.WS_TABSTOP,
675
- ]
676
- )
677
- dialog.Dialog.__init__(self, tmp)
678
- self.AddDDX(101, "greppattern")
679
- self.AddDDX(102, "dirpattern")
680
- self.AddDDX(103, "filpattern")
681
- # self.AddDDX(104,'casesensitive')
682
- # self.AddDDX(105,'recursive')
683
- # self.AddDDX(106,'verbose')
684
- self._obj_.data["greppattern"] = gp
685
- self._obj_.data["dirpattern"] = dp
686
- self._obj_.data["filpattern"] = fp
687
- # self._obj_.data['casesensitive'] = cs
688
- # self._obj_.data['recursive'] = r
689
- # self._obj_.data['verbose'] = v
690
- self.HookCommand(self.OnMoreDirectories, 110)
691
- self.HookCommand(self.OnMoreFiles, 111)
692
-
693
- def OnMoreDirectories(self, cmd, code):
694
- self.getMore("Pychecker\\Directories", "dirpattern")
695
-
696
- def OnMoreFiles(self, cmd, code):
697
- self.getMore("Pychecker\\File Types", "filpattern")
698
-
699
- def getMore(self, section, key):
700
- self.UpdateData(1)
701
- # get the items out of the ini file
702
- ini = win32ui.GetProfileFileName()
703
- secitems = win32api.GetProfileSection(section, ini)
704
- items = []
705
- for secitem in secitems:
706
- items.append(secitem.split("=")[1])
707
- dlg = TheParamsDialog(items)
708
- if dlg.DoModal() == win32con.IDOK:
709
- itemstr = ";".join(dlg.getItems())
710
- self._obj_.data[key] = itemstr
711
- # update the ini file with dlg.getNew()
712
- i = 0
713
- newitems = dlg.getNew()
714
- if newitems:
715
- items.extend(newitems)
716
- for item in items:
717
- win32api.WriteProfileVal(section, repr(i), item, ini)
718
- i += 1
719
- self.UpdateData(0)
720
-
721
- def OnOK(self):
722
- self.UpdateData(1)
723
- for id, name in (
724
- (101, "greppattern"),
725
- (102, "dirpattern"),
726
- (103, "filpattern"),
727
- ):
728
- if not self[name]:
729
- self.GetDlgItem(id).SetFocus()
730
- win32api.MessageBeep()
731
- win32ui.SetStatusText("Please enter a value")
732
- return
733
- self._obj_.OnOK()
734
-
735
-
736
- class TheParamsDialog(dialog.Dialog):
737
- def __init__(self, items):
738
- self.items = items
739
- self.newitems = []
740
- style = (
741
- win32con.DS_MODALFRAME
742
- | win32con.WS_POPUP
743
- | win32con.WS_VISIBLE
744
- | win32con.WS_CAPTION
745
- | win32con.WS_SYSMENU
746
- | win32con.DS_SETFONT
747
- )
748
- CS = win32con.WS_CHILD | win32con.WS_VISIBLE
749
- tmp = [
750
- [
751
- "Pychecker Parameters",
752
- (0, 0, 205, 100),
753
- style,
754
- None,
755
- (8, "MS Sans Serif"),
756
- ],
757
- ]
758
- tmp.append(
759
- [
760
- LISTBOX,
761
- "",
762
- 107,
763
- (7, 7, 150, 72),
764
- CS
765
- | win32con.LBS_MULTIPLESEL
766
- | win32con.LBS_STANDARD
767
- | win32con.LBS_HASSTRINGS
768
- | win32con.WS_TABSTOP
769
- | win32con.LBS_NOTIFY,
770
- ]
771
- )
772
- tmp.append(
773
- [
774
- BUTTON,
775
- "OK",
776
- win32con.IDOK,
777
- (167, 7, 32, 12),
778
- CS | win32con.BS_DEFPUSHBUTTON | win32con.WS_TABSTOP,
779
- ]
780
- )
781
- tmp.append(
782
- [
783
- BUTTON,
784
- "Cancel",
785
- win32con.IDCANCEL,
786
- (167, 23, 32, 12),
787
- CS | win32con.BS_PUSHBUTTON | win32con.WS_TABSTOP,
788
- ]
789
- )
790
- tmp.append([STATIC, "New:", -1, (2, 83, 15, 12), CS])
791
- tmp.append(
792
- [
793
- EDIT,
794
- "",
795
- 108,
796
- (18, 83, 139, 12),
797
- CS | win32con.WS_TABSTOP | win32con.ES_AUTOHSCROLL | win32con.WS_BORDER,
798
- ]
799
- )
800
- tmp.append(
801
- [
802
- BUTTON,
803
- "Add",
804
- 109,
805
- (167, 83, 32, 12),
806
- CS | win32con.BS_PUSHBUTTON | win32con.WS_TABSTOP,
807
- ]
808
- )
809
- dialog.Dialog.__init__(self, tmp)
810
- self.HookCommand(self.OnAddItem, 109)
811
- self.HookCommand(self.OnListDoubleClick, 107)
812
-
813
- def OnInitDialog(self):
814
- lb = self.GetDlgItem(107)
815
- for item in self.items:
816
- lb.AddString(item)
817
- return self._obj_.OnInitDialog()
818
-
819
- def OnAddItem(self, cmd, code):
820
- eb = self.GetDlgItem(108)
821
- item = eb.GetLine(0)
822
- self.newitems.append(item)
823
- lb = self.GetDlgItem(107)
824
- i = lb.AddString(item)
825
- lb.SetSel(i, 1)
826
- return 1
827
-
828
- def OnListDoubleClick(self, cmd, code):
829
- if code == win32con.LBN_DBLCLK:
830
- self.OnOK()
831
- return 1
832
-
833
- def OnOK(self):
834
- lb = self.GetDlgItem(107)
835
- self.selections = lb.GetSelTextItems()
836
- self._obj_.OnOK()
837
-
838
- def getItems(self):
839
- return self.selections
840
-
841
- def getNew(self):
842
- return self.newitems
843
-
844
-
845
- try:
846
- win32ui.GetApp().RemoveDocTemplate(greptemplate) # type: ignore[has-type, used-before-def]
847
- except NameError:
848
- pass
849
-
850
- greptemplate = TheTemplate()