py2docfx 0.1.15.dev2025736__py3-none-any.whl → 0.1.15.dev2038852__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 (600) hide show
  1. py2docfx/docfx_yaml/process_doctree.py +34 -21
  2. py2docfx/docfx_yaml/tests/test_method_arguments.py +7 -1
  3. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_core_metadata.py +21 -5
  4. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -0
  5. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
  6. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/__init__.py +27 -8
  7. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
  8. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
  9. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
  10. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  11. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  12. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
  13. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
  14. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
  15. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
  16. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
  17. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
  18. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
  19. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
  20. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
  21. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_distutils/util.py +7 -6
  22. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_normalization.py +29 -0
  23. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
  24. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
  25. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
  26. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
  27. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
  28. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
  29. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
  30. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
  31. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
  32. py2docfx/venv/basevenv/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
  33. py2docfx/venv/basevenv/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
  34. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +48 -11
  35. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
  36. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
  37. py2docfx/venv/basevenv/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
  38. py2docfx/venv/basevenv/Lib/site-packages/setuptools/dist.py +115 -9
  39. py2docfx/venv/basevenv/Lib/site-packages/setuptools/msvc.py +12 -3
  40. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
  41. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
  42. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
  43. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
  44. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
  45. py2docfx/venv/basevenv/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
  46. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/__init__.py +1 -1
  47. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/any_pb2.py +4 -4
  48. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/api_pb2.py +4 -4
  49. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/compiler/plugin_pb2.py +4 -4
  50. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_database.py +22 -4
  51. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/descriptor_pb2.py +82 -35
  52. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/duration_pb2.py +4 -4
  53. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/empty_pb2.py +4 -4
  54. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/field_mask_pb2.py +4 -4
  55. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/builder.py +4 -3
  56. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/containers.py +13 -0
  57. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/decoder.py +62 -115
  58. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_edition_defaults.py +1 -1
  59. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/python_message.py +15 -18
  60. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/testing_refleaks.py +4 -1
  61. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/type_checkers.py +5 -0
  62. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/well_known_types.py +3 -3
  63. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/json_format.py +25 -9
  64. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message.py +26 -0
  65. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/message_factory.py +0 -63
  66. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto.py +38 -1
  67. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/proto_text.py +129 -0
  68. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/reflection.py +0 -49
  69. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/runtime_version.py +3 -3
  70. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/source_context_pb2.py +4 -4
  71. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/struct_pb2.py +4 -4
  72. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/symbol_database.py +0 -18
  73. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/text_format.py +8 -3
  74. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/timestamp_pb2.py +4 -4
  75. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/type_pb2.py +4 -4
  76. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/unknown_fields.py +3 -4
  77. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/wrappers_pb2.py +4 -4
  78. py2docfx/venv/venv1/Lib/site-packages/msal/__init__.py +1 -1
  79. py2docfx/venv/venv1/Lib/site-packages/msal/application.py +51 -17
  80. py2docfx/venv/venv1/Lib/site-packages/msal/broker.py +18 -4
  81. py2docfx/venv/venv1/Lib/site-packages/msal/cloudshell.py +5 -1
  82. py2docfx/venv/venv1/Lib/site-packages/msal/managed_identity.py +5 -4
  83. py2docfx/venv/venv1/Lib/site-packages/msal/sku.py +6 -0
  84. py2docfx/venv/venv1/Lib/site-packages/msal/token_cache.py +31 -10
  85. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/__init__.py +2 -3
  86. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/cache_lock.py +4 -1
  87. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/filelock.py +62 -0
  88. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/libsecret.py +1 -1
  89. py2docfx/venv/venv1/Lib/site-packages/msal_extensions/token_cache.py +7 -1
  90. py2docfx/venv/venv1/Lib/site-packages/setuptools/_core_metadata.py +21 -5
  91. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/_msvccompiler.py +2 -0
  92. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/ccompiler.py +5 -2
  93. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/__init__.py +27 -8
  94. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build.py +1 -6
  95. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_clib.py +1 -9
  96. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/build_ext.py +1 -8
  97. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/check.py +1 -1
  98. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/config.py +0 -2
  99. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/command/install.py +8 -17
  100. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compat/numpy.py +2 -0
  101. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/base.py +8 -5
  102. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/msvc.py +1 -1
  103. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/compilers/C/unix.py +15 -1
  104. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/dist.py +2 -1
  105. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/sysconfig.py +0 -10
  106. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/tests/test_build_ext.py +60 -5
  107. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/unixccompiler.py +6 -0
  108. py2docfx/venv/venv1/Lib/site-packages/setuptools/_distutils/util.py +7 -6
  109. py2docfx/venv/venv1/Lib/site-packages/setuptools/_normalization.py +29 -0
  110. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/__init__.py +1 -1
  111. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_bdist_wheel.py +613 -0
  112. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/_setuptools_logging.py +2 -2
  113. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/bdist_wheel.py +25 -594
  114. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/__init__.py +6 -6
  115. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/cli/convert.py +282 -223
  116. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/macosx_libfile.py +22 -9
  117. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/metadata.py +16 -13
  118. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/util.py +0 -9
  119. py2docfx/venv/venv1/Lib/site-packages/setuptools/_vendor/wheel/wheelfile.py +40 -9
  120. py2docfx/venv/venv1/Lib/site-packages/setuptools/command/bdist_wheel.py +6 -2
  121. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_apply_pyprojecttoml.py +48 -11
  122. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/extra_validations.py +31 -1
  123. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/fastjsonschema_validations.py +222 -129
  124. py2docfx/venv/venv1/Lib/site-packages/setuptools/config/_validate_pyproject/formats.py +30 -3
  125. py2docfx/venv/venv1/Lib/site-packages/setuptools/dist.py +115 -9
  126. py2docfx/venv/venv1/Lib/site-packages/setuptools/msvc.py +12 -3
  127. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/config/test_apply_pyprojecttoml.py +246 -13
  128. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_bdist_wheel.py +93 -8
  129. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_build_meta.py +17 -4
  130. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_core_metadata.py +45 -0
  131. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_egg_info.py +24 -4
  132. py2docfx/venv/venv1/Lib/site-packages/setuptools/tests/test_sdist.py +13 -1
  133. {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/METADATA +1 -1
  134. {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/RECORD +136 -593
  135. py2docfx/docfx_yaml/tests/test_process_doctree.py +0 -120
  136. py2docfx/venv/venv1/Lib/site-packages/adodbapi/__init__.py +0 -82
  137. py2docfx/venv/venv1/Lib/site-packages/adodbapi/ado_consts.py +0 -283
  138. py2docfx/venv/venv1/Lib/site-packages/adodbapi/adodbapi.py +0 -1153
  139. py2docfx/venv/venv1/Lib/site-packages/adodbapi/apibase.py +0 -723
  140. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_print.py +0 -72
  141. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/db_table_names.py +0 -21
  142. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_read.py +0 -41
  143. py2docfx/venv/venv1/Lib/site-packages/adodbapi/examples/xls_write.py +0 -41
  144. py2docfx/venv/venv1/Lib/site-packages/adodbapi/is64bit.py +0 -34
  145. py2docfx/venv/venv1/Lib/site-packages/adodbapi/process_connect_string.py +0 -137
  146. py2docfx/venv/venv1/Lib/site-packages/adodbapi/schema_table.py +0 -16
  147. py2docfx/venv/venv1/Lib/site-packages/adodbapi/setup.py +0 -68
  148. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitest.py +0 -1547
  149. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/adodbapitestconfig.py +0 -184
  150. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/dbapi20.py +0 -879
  151. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/is64bit.py +0 -34
  152. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/setuptestframework.py +0 -98
  153. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/test_adodbapi_dbapi20.py +0 -195
  154. py2docfx/venv/venv1/Lib/site-packages/adodbapi/test/tryconnection.py +0 -30
  155. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/internal/_parameterized.py +0 -420
  156. py2docfx/venv/venv1/Lib/site-packages/google/protobuf/service.py +0 -213
  157. py2docfx/venv/venv1/Lib/site-packages/isapi/__init__.py +0 -39
  158. py2docfx/venv/venv1/Lib/site-packages/isapi/install.py +0 -809
  159. py2docfx/venv/venv1/Lib/site-packages/isapi/isapicon.py +0 -121
  160. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/advanced.py +0 -218
  161. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector.py +0 -116
  162. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_asynch.py +0 -85
  163. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/redirector_with_filter.py +0 -162
  164. py2docfx/venv/venv1/Lib/site-packages/isapi/samples/test.py +0 -195
  165. py2docfx/venv/venv1/Lib/site-packages/isapi/simple.py +0 -73
  166. py2docfx/venv/venv1/Lib/site-packages/isapi/test/extension_simple.py +0 -114
  167. py2docfx/venv/venv1/Lib/site-packages/isapi/threaded_extension.py +0 -191
  168. py2docfx/venv/venv1/Lib/site-packages/portalocker/__about__.py +0 -6
  169. py2docfx/venv/venv1/Lib/site-packages/portalocker/__init__.py +0 -79
  170. py2docfx/venv/venv1/Lib/site-packages/portalocker/__main__.py +0 -122
  171. py2docfx/venv/venv1/Lib/site-packages/portalocker/constants.py +0 -59
  172. py2docfx/venv/venv1/Lib/site-packages/portalocker/exceptions.py +0 -27
  173. py2docfx/venv/venv1/Lib/site-packages/portalocker/portalocker.py +0 -154
  174. py2docfx/venv/venv1/Lib/site-packages/portalocker/redis.py +0 -236
  175. py2docfx/venv/venv1/Lib/site-packages/portalocker/utils.py +0 -569
  176. py2docfx/venv/venv1/Lib/site-packages/pythoncom.py +0 -4
  177. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/basictimerapp.py +0 -258
  178. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/customprint.py +0 -183
  179. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/demoutils.py +0 -63
  180. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dlgappdemo.py +0 -51
  181. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/dojobapp.py +0 -71
  182. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/app/helloapp.py +0 -53
  183. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/cmdserver.py +0 -113
  184. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/createwin.py +0 -114
  185. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/demoutils.py +0 -65
  186. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dibdemo.py +0 -73
  187. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dlgtest.py +0 -145
  188. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/dyndlg.py +0 -104
  189. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/fontdemo.py +0 -85
  190. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/guidemo.py +0 -53
  191. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/hiertest.py +0 -138
  192. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/menutest.py +0 -13
  193. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/objdoc.py +0 -57
  194. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/demoutils.py +0 -63
  195. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/flash.py +0 -95
  196. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/msoffice.py +0 -159
  197. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxserialtest.py +0 -132
  198. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/ocxtest.py +0 -243
  199. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/ocx/webbrowser.py +0 -72
  200. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/openGLDemo.py +0 -415
  201. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/progressbar.py +0 -105
  202. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/sliderdemo.py +0 -76
  203. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/splittst.py +0 -79
  204. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/threadedgui.py +0 -189
  205. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/Demos/toolbar.py +0 -105
  206. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/__init__.py +0 -3
  207. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/__init__.py +0 -133
  208. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/configui.py +0 -34
  209. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgcon.py +0 -31
  210. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/dbgpyapp.py +0 -48
  211. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/debugger.py +0 -1097
  212. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/debugger/fail.py +0 -54
  213. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/__init__.py +0 -0
  214. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/ideoptions.py +0 -136
  215. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/list.py +0 -146
  216. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/login.py +0 -155
  217. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/dialogs/status.py +0 -242
  218. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/DockingBar.py +0 -676
  219. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/docking/__init__.py +0 -0
  220. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/__init__.py +0 -0
  221. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/app.py +0 -411
  222. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/bitmap.py +0 -168
  223. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/cmdline.py +0 -54
  224. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dbgcommands.py +0 -188
  225. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/dlgappcore.py +0 -76
  226. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/ModuleBrowser.py +0 -235
  227. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/__init__.py +0 -105
  228. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/__init__.py +0 -0
  229. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/color/coloreditor.py +0 -646
  230. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/configui.py +0 -299
  231. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/document.py +0 -379
  232. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/editor.py +0 -511
  233. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/frame.py +0 -74
  234. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/template.py +0 -59
  235. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/editor/vss.py +0 -104
  236. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/help.py +0 -173
  237. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/interact.py +0 -995
  238. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpyapp.py +0 -552
  239. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/intpydde.py +0 -65
  240. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/scriptutils.py +0 -684
  241. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/sgrepmdi.py +0 -749
  242. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/startup.py +0 -70
  243. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/stdin.py +0 -172
  244. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/toolmenu.py +0 -279
  245. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/window.py +0 -14
  246. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/framework/winout.py +0 -589
  247. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoExpand.py +0 -95
  248. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/AutoIndent.py +0 -536
  249. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/CallTips.py +0 -216
  250. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/FormatParagraph.py +0 -166
  251. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/IdleHistory.py +0 -87
  252. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/PyParse.py +0 -585
  253. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/idle/__init__.py +0 -1
  254. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/__init__.py +0 -0
  255. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/activex.py +0 -79
  256. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/afxres.py +0 -501
  257. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/dialog.py +0 -277
  258. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/docview.py +0 -151
  259. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/object.py +0 -66
  260. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/thread.py +0 -25
  261. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/mfc/window.py +0 -50
  262. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/IDLEenvironment.py +0 -593
  263. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/__init__.py +0 -1
  264. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/bindings.py +0 -180
  265. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/config.py +0 -363
  266. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/configui.py +0 -291
  267. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/control.py +0 -565
  268. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/document.py +0 -312
  269. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/find.py +0 -511
  270. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/formatter.py +0 -704
  271. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/keycodes.py +0 -190
  272. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/scintillacon.py +0 -3083
  273. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/scintilla/view.py +0 -841
  274. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/TraceCollector.py +0 -79
  275. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/__init__.py +0 -0
  276. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browseProjects.py +0 -323
  277. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/browser.py +0 -494
  278. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/hierlist.py +0 -353
  279. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regedit.py +0 -382
  280. py2docfx/venv/venv1/Lib/site-packages/pythonwin/pywin/tools/regpy.py +0 -80
  281. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupRead_BackupWrite.py +0 -119
  282. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/BackupSeek_streamheaders.py +0 -137
  283. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CopyFileEx.py +0 -57
  284. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/CreateFileTransacted_MiniVersion.py +0 -122
  285. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtFormatMessage.py +0 -83
  286. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_pull.py +0 -28
  287. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/EvtSubscribe_push.py +0 -32
  288. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/FileSecurityTest.py +0 -137
  289. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/GetSaveFileName.py +0 -43
  290. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/NetValidatePasswordPolicy.py +0 -127
  291. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/OpenEncryptedFileRaw.py +0 -66
  292. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegCreateKeyTransacted.py +0 -60
  293. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/RegRestoreKey.py +0 -71
  294. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/SystemParametersInfo.py +0 -210
  295. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/c_extension/setup.py +0 -26
  296. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeclient.py +0 -18
  297. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/dde/ddeserver.py +0 -42
  298. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/desktopmanager.py +0 -246
  299. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/eventLogDemo.py +0 -143
  300. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/getfilever.py +0 -33
  301. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/mmapfile_demo.py +0 -101
  302. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/cat.py +0 -17
  303. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/pipes/runproc.py +0 -114
  304. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/print_desktop.py +0 -113
  305. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/rastest.py +0 -166
  306. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/GetTokenInformation.py +0 -110
  307. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/account_rights.py +0 -49
  308. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/explicit_entries.py +0 -170
  309. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/get_policy_info.py +0 -39
  310. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/list_rights.py +0 -35
  311. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/localized_names.py +0 -70
  312. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsaregevent.py +0 -14
  313. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/lsastore.py +0 -12
  314. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/query_information.py +0 -25
  315. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsave_sa.py +0 -61
  316. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/regsecurity.py +0 -36
  317. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sa_inherit.py +0 -8
  318. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/security_enums.py +0 -336
  319. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_audit.py +0 -106
  320. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_file_owner.py +0 -73
  321. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/set_policy_info.py +0 -25
  322. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setkernelobjectsecurity.py +0 -134
  323. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setnamedsecurityinfo.py +0 -131
  324. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setsecurityinfo.py +0 -131
  325. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/setuserobjectsecurity.py +0 -102
  326. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/fetch_url.py +0 -158
  327. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/simple_auth.py +0 -72
  328. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/socket_server.py +0 -199
  329. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/security/sspi/validate_password.py +0 -41
  330. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/nativePipeTestService.py +0 -63
  331. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestService.py +0 -185
  332. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/pipeTestServiceClient.py +0 -158
  333. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/service/serviceEvents.py +0 -98
  334. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/timer_demo.py +0 -72
  335. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboardDemo.py +0 -155
  336. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32clipboard_bitmapdemo.py +0 -117
  337. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32comport_demo.py +0 -174
  338. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32console_demo.py +0 -132
  339. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32cred_demo.py +0 -82
  340. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32fileDemo.py +0 -41
  341. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_demo.py +0 -177
  342. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_devicenotify.py +0 -106
  343. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_dialog.py +0 -445
  344. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_menu.py +0 -464
  345. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32gui_taskbar.py +0 -136
  346. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32netdemo.py +0 -272
  347. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32rcparser_demo.py +0 -86
  348. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32servicedemo.py +0 -23
  349. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32ts_logoff_disconnected.py +0 -25
  350. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/testwnet.py +0 -123
  351. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/win32wnet/winnetwk.py +0 -100
  352. py2docfx/venv/venv1/Lib/site-packages/win32/Demos/winprocess.py +0 -230
  353. py2docfx/venv/venv1/Lib/site-packages/win32/lib/_win32verstamp_pywin32ctypes.py +0 -164
  354. py2docfx/venv/venv1/Lib/site-packages/win32/lib/afxres.py +0 -8
  355. py2docfx/venv/venv1/Lib/site-packages/win32/lib/commctrl.py +0 -1551
  356. py2docfx/venv/venv1/Lib/site-packages/win32/lib/mmsystem.py +0 -956
  357. py2docfx/venv/venv1/Lib/site-packages/win32/lib/netbios.py +0 -293
  358. py2docfx/venv/venv1/Lib/site-packages/win32/lib/ntsecuritycon.py +0 -731
  359. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_bootstrap.py +0 -21
  360. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywin32_testutil.py +0 -291
  361. py2docfx/venv/venv1/Lib/site-packages/win32/lib/pywintypes.py +0 -124
  362. py2docfx/venv/venv1/Lib/site-packages/win32/lib/rasutil.py +0 -40
  363. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regcheck.py +0 -161
  364. py2docfx/venv/venv1/Lib/site-packages/win32/lib/regutil.py +0 -395
  365. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspi.py +0 -413
  366. py2docfx/venv/venv1/Lib/site-packages/win32/lib/sspicon.py +0 -477
  367. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win2kras.py +0 -14
  368. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32con.py +0 -5064
  369. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32cryptcon.py +0 -1922
  370. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32evtlogutil.py +0 -225
  371. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32gui_struct.py +0 -957
  372. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32inetcon.py +0 -1086
  373. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32netcon.py +0 -627
  374. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhquery.py +0 -570
  375. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32pdhutil.py +0 -212
  376. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32rcparser.py +0 -674
  377. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32serviceutil.py +0 -1073
  378. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32timezone.py +0 -1201
  379. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32traceutil.py +0 -59
  380. py2docfx/venv/venv1/Lib/site-packages/win32/lib/win32verstamp.py +0 -235
  381. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winerror.py +0 -7362
  382. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winioctlcon.py +0 -1079
  383. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winnt.py +0 -1347
  384. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winperf.py +0 -236
  385. py2docfx/venv/venv1/Lib/site-packages/win32/lib/winxptheme.py +0 -8
  386. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/ControlService.py +0 -594
  387. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/BrandProject.py +0 -97
  388. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/bulkstamp.py +0 -156
  389. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/VersionStamp/vssutil.py +0 -201
  390. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/backupEventLog.py +0 -46
  391. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/h2py.py +0 -194
  392. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/killProcName.py +0 -62
  393. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_postinstall.py +0 -733
  394. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/pywin32_testall.py +0 -120
  395. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/rasutil.py +0 -98
  396. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/regsetup.py +0 -607
  397. py2docfx/venv/venv1/Lib/site-packages/win32/scripts/setup_d.py +0 -111
  398. py2docfx/venv/venv1/Lib/site-packages/win32/test/handles.py +0 -175
  399. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_clipboard.py +0 -137
  400. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_exceptions.py +0 -213
  401. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_odbc.py +0 -264
  402. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_pywintypes.py +0 -111
  403. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_security.py +0 -166
  404. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_sspi.py +0 -229
  405. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32api.py +0 -273
  406. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32clipboard.py +0 -59
  407. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32cred.py +0 -91
  408. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32crypt.py +0 -144
  409. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32event.py +0 -119
  410. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32file.py +0 -1096
  411. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32gui.py +0 -227
  412. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32guistruct.py +0 -333
  413. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32inet.py +0 -108
  414. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32net.py +0 -23
  415. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32pipe.py +0 -148
  416. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32print.py +0 -24
  417. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32profile.py +0 -19
  418. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32rcparser.py +0 -70
  419. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32timezone.py +0 -16
  420. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32trace.py +0 -366
  421. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32ts.py +0 -19
  422. py2docfx/venv/venv1/Lib/site-packages/win32/test/test_win32wnet.py +0 -174
  423. py2docfx/venv/venv1/Lib/site-packages/win32/test/testall.py +0 -223
  424. py2docfx/venv/venv1/Lib/site-packages/win32/winxpgui.py +0 -13
  425. py2docfx/venv/venv1/Lib/site-packages/win32com/__init__.py +0 -134
  426. py2docfx/venv/venv1/Lib/site-packages/win32com/client/CLSIDToClass.py +0 -60
  427. py2docfx/venv/venv1/Lib/site-packages/win32com/client/__init__.py +0 -717
  428. py2docfx/venv/venv1/Lib/site-packages/win32com/client/build.py +0 -771
  429. py2docfx/venv/venv1/Lib/site-packages/win32com/client/combrowse.py +0 -604
  430. py2docfx/venv/venv1/Lib/site-packages/win32com/client/connect.py +0 -48
  431. py2docfx/venv/venv1/Lib/site-packages/win32com/client/dynamic.py +0 -699
  432. py2docfx/venv/venv1/Lib/site-packages/win32com/client/gencache.py +0 -825
  433. py2docfx/venv/venv1/Lib/site-packages/win32com/client/genpy.py +0 -1350
  434. py2docfx/venv/venv1/Lib/site-packages/win32com/client/makepy.py +0 -453
  435. py2docfx/venv/venv1/Lib/site-packages/win32com/client/selecttlb.py +0 -182
  436. py2docfx/venv/venv1/Lib/site-packages/win32com/client/tlbrowse.py +0 -277
  437. py2docfx/venv/venv1/Lib/site-packages/win32com/client/util.py +0 -103
  438. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/__init__.py +0 -0
  439. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/connect.py +0 -96
  440. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/dump_clipboard.py +0 -74
  441. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsApartmentThreaded.py +0 -98
  442. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/eventsFreeThreaded.py +0 -92
  443. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelAddin.py +0 -169
  444. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/excelRTDServer.py +0 -434
  445. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/iebutton.py +0 -214
  446. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/ietoolbar.py +0 -368
  447. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/outlookAddin.py +0 -135
  448. py2docfx/venv/venv1/Lib/site-packages/win32com/demos/trybag.py +0 -78
  449. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/__init__.py +0 -1
  450. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegw.py +0 -618
  451. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwenum.py +0 -331
  452. py2docfx/venv/venv1/Lib/site-packages/win32com/makegw/makegwparse.py +0 -1017
  453. py2docfx/venv/venv1/Lib/site-packages/win32com/olectl.py +0 -70
  454. py2docfx/venv/venv1/Lib/site-packages/win32com/server/__init__.py +0 -1
  455. py2docfx/venv/venv1/Lib/site-packages/win32com/server/connect.py +0 -85
  456. py2docfx/venv/venv1/Lib/site-packages/win32com/server/dispatcher.py +0 -239
  457. py2docfx/venv/venv1/Lib/site-packages/win32com/server/exception.py +0 -99
  458. py2docfx/venv/venv1/Lib/site-packages/win32com/server/factory.py +0 -26
  459. py2docfx/venv/venv1/Lib/site-packages/win32com/server/localserver.py +0 -53
  460. py2docfx/venv/venv1/Lib/site-packages/win32com/server/policy.py +0 -803
  461. py2docfx/venv/venv1/Lib/site-packages/win32com/server/register.py +0 -677
  462. py2docfx/venv/venv1/Lib/site-packages/win32com/server/util.py +0 -229
  463. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/PythonTools.py +0 -47
  464. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/__init__.py +0 -0
  465. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/dictionary.py +0 -133
  466. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/interp.py +0 -59
  467. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/perfmon.py +0 -36
  468. py2docfx/venv/venv1/Lib/site-packages/win32com/servers/test_pycomtest.py +0 -181
  469. py2docfx/venv/venv1/Lib/site-packages/win32com/storagecon.py +0 -142
  470. py2docfx/venv/venv1/Lib/site-packages/win32com/test/GenTestScripts.py +0 -95
  471. py2docfx/venv/venv1/Lib/site-packages/win32com/test/__init__.py +0 -1
  472. py2docfx/venv/venv1/Lib/site-packages/win32com/test/daodump.py +0 -88
  473. py2docfx/venv/venv1/Lib/site-packages/win32com/test/errorSemantics.py +0 -243
  474. py2docfx/venv/venv1/Lib/site-packages/win32com/test/pippo_server.py +0 -96
  475. py2docfx/venv/venv1/Lib/site-packages/win32com/test/policySemantics.py +0 -115
  476. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testADOEvents.py +0 -100
  477. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAXScript.py +0 -44
  478. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testAccess.py +0 -185
  479. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testArrays.py +0 -99
  480. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testClipboard.py +0 -169
  481. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testCollections.py +0 -159
  482. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testConversionErrors.py +0 -35
  483. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDCOM.py +0 -50
  484. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDates.py +0 -74
  485. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDictionary.py +0 -101
  486. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testDynamic.py +0 -83
  487. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExchange.py +0 -121
  488. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testExplorer.py +0 -139
  489. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGIT.py +0 -142
  490. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testGatewayAddresses.py +0 -149
  491. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testIterators.py +0 -140
  492. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOffice.py +0 -184
  493. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMSOfficeEvents.py +0 -138
  494. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testMarshal.py +0 -160
  495. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPersist.py +0 -227
  496. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPippo.py +0 -80
  497. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testPyComTest.py +0 -918
  498. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testROT.py +0 -29
  499. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testServers.py +0 -51
  500. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testShell.py +0 -272
  501. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStorage.py +0 -88
  502. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testStreams.py +0 -147
  503. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testWMI.py +0 -18
  504. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testall.py +0 -320
  505. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testmakepy.py +0 -54
  506. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvb.py +0 -583
  507. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testvbscript_regexp.py +0 -40
  508. py2docfx/venv/venv1/Lib/site-packages/win32com/test/testxslt.py +0 -34
  509. py2docfx/venv/venv1/Lib/site-packages/win32com/test/util.py +0 -262
  510. py2docfx/venv/venv1/Lib/site-packages/win32com/universal.py +0 -224
  511. py2docfx/venv/venv1/Lib/site-packages/win32com/util.py +0 -35
  512. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/__init__.py +0 -113
  513. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/adsicon.py +0 -340
  514. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/objectPicker.py +0 -68
  515. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/scp.py +0 -565
  516. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/search.py +0 -151
  517. py2docfx/venv/venv1/Lib/site-packages/win32comext/adsi/demos/test.py +0 -274
  518. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/__init__.py +0 -6
  519. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditSecurity.py +0 -229
  520. py2docfx/venv/venv1/Lib/site-packages/win32comext/authorization/demos/EditServiceSecurity.py +0 -219
  521. py2docfx/venv/venv1/Lib/site-packages/win32comext/axcontrol/__init__.py +0 -4
  522. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/__init__.py +0 -4
  523. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/adb.py +0 -467
  524. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/codecontainer.py +0 -279
  525. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/contexts.py +0 -58
  526. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/debugger.py +0 -238
  527. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/documents.py +0 -135
  528. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/dump.py +0 -57
  529. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/expressions.py +0 -212
  530. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/gateways.py +0 -583
  531. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/stackframe.py +0 -178
  532. py2docfx/venv/venv1/Lib/site-packages/win32comext/axdebug/util.py +0 -98
  533. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/__init__.py +0 -4
  534. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/asputil.py +0 -13
  535. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/__init__.py +0 -1
  536. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/debug.py +0 -223
  537. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/error.py +0 -262
  538. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/framework.py +0 -1291
  539. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pydumper.py +0 -78
  540. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript.py +0 -438
  541. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/pyscript_rexec.py +0 -54
  542. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/client/scriptdispatch.py +0 -103
  543. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/__init__.py +0 -0
  544. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/server/axsite.py +0 -145
  545. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/leakTest.py +0 -185
  546. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost.py +0 -240
  547. py2docfx/venv/venv1/Lib/site-packages/win32comext/axscript/test/testHost4Dbg.py +0 -83
  548. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/__init__.py +0 -6
  549. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/show_all_jobs.py +0 -48
  550. py2docfx/venv/venv1/Lib/site-packages/win32comext/bits/test/test_bits.py +0 -119
  551. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/__init__.py +0 -4
  552. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/__init__.py +0 -1
  553. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_record.py +0 -60
  554. py2docfx/venv/venv1/Lib/site-packages/win32comext/directsound/test/ds_test.py +0 -402
  555. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/__init__.py +0 -1
  556. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/demo/filterDemo.py +0 -300
  557. py2docfx/venv/venv1/Lib/site-packages/win32comext/ifilter/ifiltercon.py +0 -110
  558. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/__init__.py +0 -4
  559. py2docfx/venv/venv1/Lib/site-packages/win32comext/internet/inetcon.py +0 -261
  560. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/__init__.py +0 -21
  561. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/demos/mapisend.py +0 -98
  562. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/emsabtags.py +0 -875
  563. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapitags.py +0 -1023
  564. py2docfx/venv/venv1/Lib/site-packages/win32comext/mapi/mapiutil.py +0 -211
  565. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/__init__.py +0 -1
  566. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/pscon.py +0 -838
  567. py2docfx/venv/venv1/Lib/site-packages/win32comext/propsys/test/testpropsys.py +0 -5
  568. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/__init__.py +0 -4
  569. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IActiveDesktop.py +0 -83
  570. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IFileOperationProgressSink.py +0 -179
  571. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IShellLinkDataList.py +0 -67
  572. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/ITransferAdviseSink.py +0 -93
  573. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/IUniformResourceLocator.py +0 -56
  574. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/browse_for_folder.py +0 -45
  575. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/create_link.py +0 -73
  576. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/dump_link.py +0 -58
  577. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/explorer_browser.py +0 -143
  578. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/column_provider.py +0 -125
  579. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/context_menu.py +0 -122
  580. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/copy_hook.py +0 -84
  581. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/empty_volume_cache.py +0 -188
  582. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/folder_view.py +0 -866
  583. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/icon_handler.py +0 -81
  584. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/servers/shell_view.py +0 -971
  585. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/shellexecuteex.py +0 -19
  586. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/viewstate.py +0 -68
  587. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/demos/walk_shell_folders.py +0 -24
  588. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/shellcon.py +0 -1615
  589. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testSHFileOperation.py +0 -75
  590. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellFolder.py +0 -21
  591. py2docfx/venv/venv1/Lib/site-packages/win32comext/shell/test/testShellItem.py +0 -69
  592. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/__init__.py +0 -6
  593. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask.py +0 -66
  594. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_1.py +0 -68
  595. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_addtask_2.py +0 -49
  596. py2docfx/venv/venv1/Lib/site-packages/win32comext/taskscheduler/test/test_localsystem.py +0 -3
  597. py2docfx/venv/venv1/Scripts/pywin32_postinstall.py +0 -733
  598. py2docfx/venv/venv1/Scripts/pywin32_testall.py +0 -120
  599. {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/WHEEL +0 -0
  600. {py2docfx-0.1.15.dev2025736.dist-info → py2docfx-0.1.15.dev2038852.dist-info}/top_level.txt +0 -0
@@ -1,841 +0,0 @@
1
- # A general purpose MFC CCtrlView view that uses Scintilla.
2
-
3
- import os
4
- import re
5
- import string
6
- import struct
7
- import sys
8
-
9
- import __main__ # for attribute lookup
10
- import win32con
11
- import win32ui
12
- from pywin.mfc import afxres, docview
13
-
14
- from . import (
15
- IDLEenvironment, # nopycln: import # Injects fast_readline into the IDLE auto-indent extension
16
- bindings,
17
- control,
18
- scintillacon,
19
- )
20
-
21
- PRINTDLGORD = 1538
22
- IDC_PRINT_MAG_EDIT = 1010
23
- EM_FORMATRANGE = win32con.WM_USER + 57
24
-
25
- wordbreaks = "._" + string.ascii_uppercase + string.ascii_lowercase + string.digits
26
-
27
- patImport = re.compile(r"import (?P<name>.*)")
28
-
29
- _event_commands = [
30
- # File menu
31
- "win32ui.ID_FILE_LOCATE",
32
- "win32ui.ID_FILE_CHECK",
33
- "afxres.ID_FILE_CLOSE",
34
- "afxres.ID_FILE_NEW",
35
- "afxres.ID_FILE_OPEN",
36
- "afxres.ID_FILE_SAVE",
37
- "afxres.ID_FILE_SAVE_AS",
38
- "win32ui.ID_FILE_SAVE_ALL",
39
- # Edit menu
40
- "afxres.ID_EDIT_UNDO",
41
- "afxres.ID_EDIT_REDO",
42
- "afxres.ID_EDIT_CUT",
43
- "afxres.ID_EDIT_COPY",
44
- "afxres.ID_EDIT_PASTE",
45
- "afxres.ID_EDIT_SELECT_ALL",
46
- "afxres.ID_EDIT_FIND",
47
- "afxres.ID_EDIT_REPEAT",
48
- "afxres.ID_EDIT_REPLACE",
49
- # View menu
50
- "win32ui.ID_VIEW_WHITESPACE",
51
- "win32ui.ID_VIEW_FIXED_FONT",
52
- "win32ui.ID_VIEW_BROWSE",
53
- "win32ui.ID_VIEW_INTERACTIVE",
54
- # Window menu
55
- "afxres.ID_WINDOW_ARRANGE",
56
- "afxres.ID_WINDOW_CASCADE",
57
- "afxres.ID_WINDOW_NEW",
58
- "afxres.ID_WINDOW_SPLIT",
59
- "afxres.ID_WINDOW_TILE_HORZ",
60
- "afxres.ID_WINDOW_TILE_VERT",
61
- # Others
62
- "afxres.ID_APP_EXIT",
63
- "afxres.ID_APP_ABOUT",
64
- ]
65
-
66
- _extra_event_commands = [
67
- ("EditDelete", afxres.ID_EDIT_CLEAR),
68
- ("LocateModule", win32ui.ID_FILE_LOCATE),
69
- ("GotoLine", win32ui.ID_EDIT_GOTO_LINE),
70
- ("DbgBreakpointToggle", win32ui.IDC_DBG_ADD),
71
- ("DbgGo", win32ui.IDC_DBG_GO),
72
- ("DbgStepOver", win32ui.IDC_DBG_STEPOVER),
73
- ("DbgStep", win32ui.IDC_DBG_STEP),
74
- ("DbgStepOut", win32ui.IDC_DBG_STEPOUT),
75
- ("DbgBreakpointClearAll", win32ui.IDC_DBG_CLEAR),
76
- ("DbgClose", win32ui.IDC_DBG_CLOSE),
77
- ]
78
-
79
- event_commands = []
80
-
81
-
82
- def _CreateEvents():
83
- for name in _event_commands:
84
- val = eval(name)
85
- name_parts = name.split("_")[1:]
86
- name_parts = [p.capitalize() for p in name_parts]
87
- event = "".join(name_parts)
88
- event_commands.append((event, val))
89
- for name, id in _extra_event_commands:
90
- event_commands.append((name, id))
91
-
92
-
93
- _CreateEvents()
94
- del _event_commands
95
- del _extra_event_commands
96
-
97
- command_reflectors = [
98
- (win32ui.ID_EDIT_UNDO, win32con.WM_UNDO),
99
- (win32ui.ID_EDIT_REDO, scintillacon.SCI_REDO),
100
- (win32ui.ID_EDIT_CUT, win32con.WM_CUT),
101
- (win32ui.ID_EDIT_COPY, win32con.WM_COPY),
102
- (win32ui.ID_EDIT_PASTE, win32con.WM_PASTE),
103
- (win32ui.ID_EDIT_CLEAR, win32con.WM_CLEAR),
104
- (win32ui.ID_EDIT_SELECT_ALL, scintillacon.SCI_SELECTALL),
105
- ]
106
-
107
-
108
- def DoBraceMatch(control):
109
- curPos = control.SCIGetCurrentPos()
110
- charBefore = " "
111
- if curPos:
112
- charBefore = control.SCIGetCharAt(curPos - 1)
113
- charAt = control.SCIGetCharAt(curPos)
114
- braceAtPos = braceOpposite = -1
115
- if charBefore in "[](){}":
116
- braceAtPos = curPos - 1
117
- if braceAtPos == -1:
118
- if charAt in "[](){}":
119
- braceAtPos = curPos
120
- if braceAtPos != -1:
121
- braceOpposite = control.SCIBraceMatch(braceAtPos, 0)
122
- if braceAtPos != -1 and braceOpposite == -1:
123
- control.SCIBraceBadHighlight(braceAtPos)
124
- else:
125
- # either clear them both or set them both.
126
- control.SCIBraceHighlight(braceAtPos, braceOpposite)
127
-
128
-
129
- def _get_class_attributes(ob):
130
- # Recurse into base classes looking for attributes
131
- items = []
132
- try:
133
- items.extend(dir(ob))
134
- for i in ob.__bases__:
135
- for item in _get_class_attributes(i):
136
- if item not in items:
137
- items.append(item)
138
- except AttributeError:
139
- pass
140
- return items
141
-
142
-
143
- # Supposed to look like an MFC CEditView, but
144
- # also supports IDLE extensions and other source code generic features.
145
- class CScintillaView(docview.CtrlView, control.CScintillaColorEditInterface):
146
- def __init__(self, doc):
147
- docview.CtrlView.__init__(
148
- self,
149
- doc,
150
- "Scintilla",
151
- win32con.WS_CHILD
152
- | win32con.WS_VSCROLL
153
- | win32con.WS_HSCROLL
154
- | win32con.WS_CLIPCHILDREN
155
- | win32con.WS_VISIBLE,
156
- )
157
- self._tabWidth = (
158
- 8 # Mirror of what we send to Scintilla - never change this directly
159
- )
160
- self.bAutoCompleteAttributes = 1
161
- self.bShowCallTips = 1
162
- self.bMatchBraces = 0 # Editor option will default this to true later!
163
- self.bindings = bindings.BindingsManager(self)
164
-
165
- self.idle = IDLEenvironment.IDLEEditorWindow(self)
166
- self.idle.IDLEExtension("AutoExpand")
167
- # SendScintilla is called so frequently it is worth optimizing.
168
- self.SendScintilla = self._obj_.SendMessage
169
-
170
- def _MakeColorizer(self):
171
- ext = os.path.splitext(self.GetDocument().GetPathName())[1]
172
- from . import formatter
173
-
174
- return formatter.BuiltinPythonSourceFormatter(self, ext)
175
-
176
- # def SendScintilla(self, msg, w=0, l=0):
177
- # return self._obj_.SendMessage(msg, w, l)
178
-
179
- def SCISetTabWidth(self, width):
180
- # I need to remember the tab-width for the AutoIndent extension. This may go.
181
- self._tabWidth = width
182
- control.CScintillaEditInterface.SCISetTabWidth(self, width)
183
-
184
- def GetTabWidth(self):
185
- return self._tabWidth
186
-
187
- def HookHandlers(self):
188
- # Create events for all the menu names.
189
- for name, val in event_commands:
190
- # handler = lambda id, code, tosend=val, parent=parent: parent.OnCommand(tosend, 0) and 0
191
- self.bindings.bind(name, None, cid=val)
192
-
193
- # Hook commands that do nothing other than send Scintilla messages.
194
- for command, reflection in command_reflectors:
195
- handler = (
196
- lambda id, code, ss=self.SendScintilla, tosend=reflection: ss(tosend)
197
- and 0
198
- )
199
- self.HookCommand(handler, command)
200
-
201
- self.HookCommand(self.OnCmdViewWS, win32ui.ID_VIEW_WHITESPACE)
202
- self.HookCommandUpdate(self.OnUpdateViewWS, win32ui.ID_VIEW_WHITESPACE)
203
- self.HookCommand(
204
- self.OnCmdViewIndentationGuides, win32ui.ID_VIEW_INDENTATIONGUIDES
205
- )
206
- self.HookCommandUpdate(
207
- self.OnUpdateViewIndentationGuides, win32ui.ID_VIEW_INDENTATIONGUIDES
208
- )
209
- self.HookCommand(self.OnCmdViewRightEdge, win32ui.ID_VIEW_RIGHT_EDGE)
210
- self.HookCommandUpdate(self.OnUpdateViewRightEdge, win32ui.ID_VIEW_RIGHT_EDGE)
211
- self.HookCommand(self.OnCmdViewEOL, win32ui.ID_VIEW_EOL)
212
- self.HookCommandUpdate(self.OnUpdateViewEOL, win32ui.ID_VIEW_EOL)
213
- self.HookCommand(self.OnCmdViewFixedFont, win32ui.ID_VIEW_FIXED_FONT)
214
- self.HookCommandUpdate(self.OnUpdateViewFixedFont, win32ui.ID_VIEW_FIXED_FONT)
215
- self.HookCommand(self.OnCmdFileLocate, win32ui.ID_FILE_LOCATE)
216
- self.HookCommand(self.OnCmdEditFind, win32ui.ID_EDIT_FIND)
217
- self.HookCommand(self.OnCmdEditRepeat, win32ui.ID_EDIT_REPEAT)
218
- self.HookCommand(self.OnCmdEditReplace, win32ui.ID_EDIT_REPLACE)
219
- self.HookCommand(self.OnCmdGotoLine, win32ui.ID_EDIT_GOTO_LINE)
220
- self.HookCommand(self.OnFilePrint, afxres.ID_FILE_PRINT)
221
- self.HookCommand(self.OnFilePrint, afxres.ID_FILE_PRINT_DIRECT)
222
- self.HookCommand(self.OnFilePrintPreview, win32ui.ID_FILE_PRINT_PREVIEW)
223
- # Key bindings.
224
- self.HookMessage(self.OnKeyDown, win32con.WM_KEYDOWN)
225
- self.HookMessage(self.OnKeyDown, win32con.WM_SYSKEYDOWN)
226
- # Hook wheeley mouse events
227
- # self.HookMessage(self.OnMouseWheel, win32con.WM_MOUSEWHEEL)
228
- self.HookFormatter()
229
-
230
- def OnInitialUpdate(self):
231
- doc = self.GetDocument()
232
-
233
- # Enable Unicode
234
- self.SendScintilla(scintillacon.SCI_SETCODEPAGE, scintillacon.SC_CP_UTF8, 0)
235
- self.SendScintilla(scintillacon.SCI_SETKEYSUNICODE, 1, 0)
236
-
237
- # Create margins
238
- self.SendScintilla(
239
- scintillacon.SCI_SETMARGINTYPEN, 1, scintillacon.SC_MARGIN_SYMBOL
240
- )
241
- self.SendScintilla(scintillacon.SCI_SETMARGINMASKN, 1, 0xF)
242
- self.SendScintilla(
243
- scintillacon.SCI_SETMARGINTYPEN, 2, scintillacon.SC_MARGIN_SYMBOL
244
- )
245
- self.SendScintilla(
246
- scintillacon.SCI_SETMARGINMASKN, 2, scintillacon.SC_MASK_FOLDERS
247
- )
248
- self.SendScintilla(scintillacon.SCI_SETMARGINSENSITIVEN, 2, 1)
249
-
250
- self.GetDocument().HookViewNotifications(
251
- self
252
- ) # is there an MFC way to grab this?
253
- self.HookHandlers()
254
-
255
- # Load the configuration information.
256
- self.OnWinIniChange(None)
257
-
258
- self.SetSel()
259
-
260
- self.GetDocument().FinalizeViewCreation(
261
- self
262
- ) # is there an MFC way to grab this?
263
-
264
- def _GetSubConfigNames(self):
265
- return None # By default we use only sections without sub-sections.
266
-
267
- def OnWinIniChange(self, section=None):
268
- self.bindings.prepare_configure()
269
- try:
270
- self.DoConfigChange()
271
- finally:
272
- self.bindings.complete_configure()
273
-
274
- def DoConfigChange(self):
275
- # Bit of a hack I don't kow what to do about - these should be "editor options"
276
- from pywin.framework.editor import GetEditorOption
277
-
278
- self.bAutoCompleteAttributes = GetEditorOption("Autocomplete Attributes", 1)
279
- self.bShowCallTips = GetEditorOption("Show Call Tips", 1)
280
- # Update the key map and extension data.
281
- configManager.configure(self, self._GetSubConfigNames())
282
- if configManager.last_error:
283
- win32ui.MessageBox(configManager.last_error, "Configuration Error")
284
- self.bMatchBraces = GetEditorOption("Match Braces", 1)
285
- self.ApplyFormattingStyles(1)
286
-
287
- def OnDestroy(self, msg):
288
- self.bindings.close()
289
- self.bindings = None
290
- self.idle.close()
291
- self.idle = None
292
- control.CScintillaColorEditInterface.close(self)
293
- return docview.CtrlView.OnDestroy(self, msg)
294
-
295
- def OnMouseWheel(self, msg):
296
- zDelta = msg[2] >> 16
297
- vpos = self.GetScrollPos(win32con.SB_VERT)
298
- vpos -= zDelta / 40 # 3 lines per notch
299
- self.SetScrollPos(win32con.SB_VERT, vpos)
300
- self.SendScintilla(
301
- win32con.WM_VSCROLL, (vpos << 16) | win32con.SB_THUMBPOSITION, 0
302
- )
303
-
304
- def OnBraceMatch(self, std, extra):
305
- if not self.bMatchBraces:
306
- return
307
- DoBraceMatch(self)
308
-
309
- def OnNeedShown(self, std, extra):
310
- notify = self.SCIUnpackNotifyMessage(extra)
311
- # OnNeedShown is called before an edit operation when
312
- # text is folded (as it is possible the text insertion will happen
313
- # in a folded region.) As this happens _before_ the insert,
314
- # we ignore the length (if we are at EOF, pos + length may
315
- # actually be beyond the end of buffer)
316
- self.EnsureCharsVisible(notify.position)
317
-
318
- def EnsureCharsVisible(self, start, end=None):
319
- if end is None:
320
- end = start
321
- lineStart = self.LineFromChar(min(start, end))
322
- lineEnd = self.LineFromChar(max(start, end))
323
- while lineStart <= lineEnd:
324
- self.SCIEnsureVisible(lineStart)
325
- lineStart += 1
326
-
327
- # Helper to add an event to a menu.
328
- def AppendMenu(self, menu, text="", event=None, flags=None, checked=0):
329
- if event is None:
330
- assert flags is not None, "No event or custom flags!"
331
- cmdid = 0
332
- else:
333
- cmdid = self.bindings.get_command_id(event)
334
- if cmdid is None:
335
- # No event of that name - no point displaying it.
336
- print(
337
- 'View.AppendMenu(): Unknown event "{}" specified for menu text "{}" - ignored'.format(
338
- event, text
339
- )
340
- )
341
- return
342
- keyname = configManager.get_key_binding(event, self._GetSubConfigNames())
343
- if keyname is not None:
344
- text += "\t" + keyname
345
- if flags is None:
346
- flags = win32con.MF_STRING | win32con.MF_ENABLED
347
- if checked:
348
- flags |= win32con.MF_CHECKED
349
- menu.AppendMenu(flags, cmdid, text)
350
-
351
- def OnKeyDown(self, msg):
352
- return self.bindings.fire_key_event(msg)
353
-
354
- def GotoEndOfFileEvent(self, event):
355
- self.SetSel(-1)
356
-
357
- def KeyDotEvent(self, event):
358
- ## Don't trigger autocomplete if any text is selected
359
- s, e = self.GetSel()
360
- if s != e:
361
- return 1
362
- self.SCIAddText(".")
363
- if self.bAutoCompleteAttributes:
364
- self._AutoComplete()
365
-
366
- # View Whitespace/EOL/Indentation UI.
367
-
368
- def OnCmdViewWS(self, cmd, code): # Handle the menu command
369
- viewWS = self.SCIGetViewWS()
370
- self.SCISetViewWS(not viewWS)
371
-
372
- def OnUpdateViewWS(self, cmdui): # Update the tick on the UI.
373
- cmdui.SetCheck(self.SCIGetViewWS())
374
- cmdui.Enable()
375
-
376
- def OnCmdViewIndentationGuides(self, cmd, code): # Handle the menu command
377
- viewIG = self.SCIGetIndentationGuides()
378
- self.SCISetIndentationGuides(not viewIG)
379
-
380
- def OnUpdateViewIndentationGuides(self, cmdui): # Update the tick on the UI.
381
- cmdui.SetCheck(self.SCIGetIndentationGuides())
382
- cmdui.Enable()
383
-
384
- def OnCmdViewRightEdge(self, cmd, code): # Handle the menu command
385
- if self.SCIGetEdgeMode() == scintillacon.EDGE_NONE:
386
- mode = scintillacon.EDGE_BACKGROUND
387
- else:
388
- mode = scintillacon.EDGE_NONE
389
- self.SCISetEdgeMode(mode)
390
-
391
- def OnUpdateViewRightEdge(self, cmdui): # Update the tick on the UI.
392
- cmdui.SetCheck(self.SCIGetEdgeMode() != scintillacon.EDGE_NONE)
393
- cmdui.Enable()
394
-
395
- def OnCmdViewEOL(self, cmd, code): # Handle the menu command
396
- viewEOL = self.SCIGetViewEOL()
397
- self.SCISetViewEOL(not viewEOL)
398
-
399
- def OnUpdateViewEOL(self, cmdui): # Update the tick on the UI.
400
- cmdui.SetCheck(self.SCIGetViewEOL())
401
- cmdui.Enable()
402
-
403
- def OnCmdViewFixedFont(self, cmd, code): # Handle the menu command
404
- self._GetColorizer().bUseFixed = not self._GetColorizer().bUseFixed
405
- self.ApplyFormattingStyles(0)
406
- # Ensure the selection is visible!
407
- self.ScrollCaret()
408
-
409
- def OnUpdateViewFixedFont(self, cmdui): # Update the tick on the UI.
410
- c = self._GetColorizer()
411
- if c is not None:
412
- cmdui.SetCheck(c.bUseFixed)
413
- cmdui.Enable(c is not None)
414
-
415
- def OnCmdEditFind(self, cmd, code):
416
- from . import find
417
-
418
- find.ShowFindDialog()
419
-
420
- def OnCmdEditRepeat(self, cmd, code):
421
- from . import find
422
-
423
- find.FindNext()
424
-
425
- def OnCmdEditReplace(self, cmd, code):
426
- from . import find
427
-
428
- find.ShowReplaceDialog()
429
-
430
- def OnCmdFileLocate(self, cmd, id):
431
- line = self.GetLine().strip()
432
- import pywin.framework.scriptutils
433
-
434
- m = patImport.match(line)
435
- if m:
436
- # Module name on this line - locate that!
437
- modName = m.group("name")
438
- fileName = pywin.framework.scriptutils.LocatePythonFile(modName)
439
- if fileName is None:
440
- win32ui.SetStatusText("Can't locate module %s" % modName)
441
- return 1 # Let the default get it.
442
- else:
443
- win32ui.GetApp().OpenDocumentFile(fileName)
444
- else:
445
- # Just to a "normal" locate - let the default handler get it.
446
- return 1
447
- return 0
448
-
449
- def OnCmdGotoLine(self, cmd, id):
450
- try:
451
- lineNo = int(input("Enter Line Number")) - 1
452
- except (ValueError, KeyboardInterrupt):
453
- return 0
454
- self.SCIEnsureVisible(lineNo)
455
- self.SCIGotoLine(lineNo)
456
- return 0
457
-
458
- def SaveTextFile(self, filename, encoding=None):
459
- doc = self.GetDocument()
460
- doc._SaveTextToFile(self, filename, encoding=encoding)
461
- doc.SetModifiedFlag(0)
462
- return 1
463
-
464
- def _AutoComplete(self):
465
- self.SCIAutoCCancel() # Cancel old auto-complete lists.
466
- # First try and get an object without evaluating calls
467
- ob = self._GetObjectAtPos(bAllowCalls=0)
468
- # If that failed, try and process call or indexing to get the object.
469
- if ob is None:
470
- ob = self._GetObjectAtPos(bAllowCalls=1)
471
- items_dict = {}
472
- if ob is not None:
473
- try: # Catch unexpected errors when fetching attribute names from the object
474
- # extra attributes of win32ui objects
475
- if hasattr(ob, "_obj_"):
476
- try:
477
- items_dict.update(dict.fromkeys(dir(ob._obj_)))
478
- except AttributeError:
479
- pass # object has no __dict__
480
-
481
- # normal attributes
482
- try:
483
- items_dict.update(dict.fromkeys(dir(ob)))
484
- except AttributeError:
485
- pass # object has no __dict__
486
- if hasattr(ob, "__class__"):
487
- items_dict.update(
488
- dict.fromkeys(_get_class_attributes(ob.__class__))
489
- )
490
- # The object may be a COM object with typelib support - let's see if we can get its props.
491
- # (contributed by Stefan Migowsky)
492
- try:
493
- # Get the automation attributes
494
- items_dict.update(ob.__class__._prop_map_get_)
495
- # See if there is an write only property
496
- # could be optimized
497
- items_dict.update(ob.__class__._prop_map_put_)
498
- # append to the already evaluated list
499
- except AttributeError:
500
- pass
501
- # The object might be a pure COM dynamic dispatch with typelib support - let's see if we can get its props.
502
- if hasattr(ob, "_oleobj_"):
503
- try:
504
- for iTI in range(0, ob._oleobj_.GetTypeInfoCount()):
505
- typeInfo = ob._oleobj_.GetTypeInfo(iTI)
506
- self._UpdateWithITypeInfo(items_dict, typeInfo)
507
- except:
508
- pass
509
- except:
510
- win32ui.SetStatusText(
511
- f"Error attempting to get object attributes - {sys.exc_info()[0]!r}"
512
- )
513
-
514
- items = [
515
- k
516
- for k in
517
- # ensure all keys are strings.
518
- map(str, items_dict)
519
- # All names that start with "_" go!
520
- if not k.startswith("_")
521
- ]
522
-
523
- if not items:
524
- # Heuristics a-la AutoExpand
525
- # The idea is to find other usages of the current binding
526
- # and assume, that it refers to the same object (or at least,
527
- # to an object of the same type)
528
- # Contributed by Vadim Chugunov [vadimch@yahoo.com]
529
- left, right = self._GetWordSplit()
530
- if left == "": # Ignore standalone dots
531
- return None
532
- # We limit our search to the current class, if that
533
- # information is available
534
- minline, maxline, curclass = self._GetClassInfoFromBrowser()
535
- endpos = self.LineIndex(maxline)
536
- text = self.GetTextRange(self.LineIndex(minline), endpos)
537
- try:
538
- l = re.findall(r"\b" + left + r"\.\w+", text)
539
- except re.error:
540
- # parens etc may make an invalid RE, but this code wouldnt
541
- # benefit even if the RE did work :-)
542
- l = []
543
- prefix = len(left) + 1
544
- unique = {}
545
- for li in l:
546
- unique[li[prefix:]] = 1
547
- # Assuming traditional usage of self...
548
- if curclass and left == "self":
549
- self._UpdateWithClassMethods(unique, curclass)
550
-
551
- items = [word for word in unique if word[:2] != "__" or word[-2:] != "__"]
552
- # Ignore the word currently to the right of the dot - probably a red-herring.
553
- try:
554
- items.remove(right[1:])
555
- except ValueError:
556
- pass
557
- if items:
558
- items.sort()
559
- self.SCIAutoCSetAutoHide(0)
560
- self.SCIAutoCShow(items)
561
-
562
- def _UpdateWithITypeInfo(self, items_dict, typeInfo):
563
- import pythoncom
564
-
565
- typeInfos = [typeInfo]
566
- # suppress IDispatch and IUnknown methods
567
- inspectedIIDs = {pythoncom.IID_IDispatch: None}
568
-
569
- while len(typeInfos) > 0:
570
- typeInfo = typeInfos.pop()
571
- typeAttr = typeInfo.GetTypeAttr()
572
-
573
- if typeAttr.iid not in inspectedIIDs:
574
- inspectedIIDs[typeAttr.iid] = None
575
- for iFun in range(0, typeAttr.cFuncs):
576
- funDesc = typeInfo.GetFuncDesc(iFun)
577
- funName = typeInfo.GetNames(funDesc.memid)[0]
578
- if funName not in items_dict:
579
- items_dict[funName] = None
580
-
581
- # Inspect the type info of all implemented types
582
- # E.g. IShellDispatch5 implements IShellDispatch4 which implements IShellDispatch3 ...
583
- for iImplType in range(0, typeAttr.cImplTypes):
584
- iRefType = typeInfo.GetRefTypeOfImplType(iImplType)
585
- refTypeInfo = typeInfo.GetRefTypeInfo(iRefType)
586
- typeInfos.append(refTypeInfo)
587
-
588
- # TODO: This is kinda slow. Probably need some kind of cache
589
- # here that is flushed upon file save
590
- # Or maybe we don't need the superclass methods at all ?
591
- def _UpdateWithClassMethods(self, dict, classinfo):
592
- if not hasattr(classinfo, "methods"):
593
- # No 'methods' - probably not what we think it is.
594
- return
595
- dict.update(classinfo.methods)
596
- for super in classinfo.super:
597
- if hasattr(super, "methods"):
598
- self._UpdateWithClassMethods(dict, super)
599
-
600
- # Find which class definition caret is currently in and return
601
- # indexes of the the first and the last lines of that class definition
602
- # Data is obtained from module browser (if enabled)
603
- def _GetClassInfoFromBrowser(self, pos=-1):
604
- minline = 0
605
- maxline = self.GetLineCount() - 1
606
- doc = self.GetParentFrame().GetActiveDocument()
607
- browser = None
608
- try:
609
- if doc is not None:
610
- browser = doc.GetAllViews()[1]
611
- except IndexError:
612
- pass
613
- if browser is None:
614
- return (minline, maxline, None) # Current window has no browser
615
- if not browser.list:
616
- return (minline, maxline, None) # Not initialized
617
- path = self.GetDocument().GetPathName()
618
- if not path:
619
- return (minline, maxline, None) # No current path
620
-
621
- import pywin.framework.scriptutils
622
-
623
- curmodule, path = pywin.framework.scriptutils.GetPackageModuleName(path)
624
- try:
625
- clbrdata = browser.list.root.clbrdata
626
- except AttributeError:
627
- return (minline, maxline, None) # No class data for this module.
628
- curline = self.LineFromChar(pos)
629
- curclass = None
630
- # Find out which class we are in
631
- for item in clbrdata.values():
632
- if item.module == curmodule:
633
- item_lineno = (
634
- item.lineno - 1
635
- ) # Scintilla counts lines from 0, whereas pyclbr - from 1
636
- if minline < item_lineno <= curline:
637
- minline = item_lineno
638
- curclass = item
639
- if curline < item_lineno < maxline:
640
- maxline = item_lineno
641
- return (minline, maxline, curclass)
642
-
643
- def _GetObjectAtPos(self, pos=-1, bAllowCalls=0):
644
- left, right = self._GetWordSplit(pos, bAllowCalls)
645
- if left: # It is an attribute lookup
646
- # How is this for a hack!
647
- namespace = sys.modules.copy()
648
- namespace.update(__main__.__dict__)
649
- # Get the debugger's context.
650
- try:
651
- from pywin.framework import interact
652
-
653
- if interact.edit is not None and interact.edit.currentView is not None:
654
- globs, locs = interact.edit.currentView.GetContext()[:2]
655
- if globs:
656
- namespace.update(globs)
657
- if locs:
658
- namespace.update(locs)
659
- except ImportError:
660
- pass
661
- try:
662
- return eval(left, namespace)
663
- except:
664
- pass
665
- return None
666
-
667
- def _GetWordSplit(self, pos=-1, bAllowCalls=0):
668
- if pos == -1:
669
- pos = self.GetSel()[0] - 1 # Character before current one
670
- limit = self.GetTextLength()
671
- before = []
672
- after = []
673
- index = pos - 1
674
- wordbreaks_use = wordbreaks
675
- if bAllowCalls:
676
- wordbreaks_use += "()[]"
677
- while index >= 0:
678
- char = self.SCIGetCharAt(index)
679
- if char not in wordbreaks_use:
680
- break
681
- before.insert(0, char)
682
- index -= 1
683
- index = pos
684
- while index <= limit:
685
- char = self.SCIGetCharAt(index)
686
- if char not in wordbreaks_use:
687
- break
688
- after.append(char)
689
- index += 1
690
- return "".join(before), "".join(after)
691
-
692
- def OnPrepareDC(self, dc, pInfo):
693
- # print(
694
- # "OnPrepareDC for page",
695
- # pInfo.GetCurPage(),
696
- # "of",
697
- # pInfo.GetFromPage(),
698
- # "to",
699
- # pInfo.GetToPage(),
700
- # ", starts=",
701
- # self.starts,
702
- # )
703
- if dc.IsPrinting():
704
- # Check if we are beyond the end.
705
- # (only do this when actually printing, else messes up print preview!)
706
- if not pInfo.GetPreview() and self.starts is not None:
707
- prevPage = pInfo.GetCurPage() - 1
708
- if prevPage > 0 and self.starts[prevPage] >= self.GetTextLength():
709
- # All finished.
710
- pInfo.SetContinuePrinting(0)
711
- return
712
- dc.SetMapMode(win32con.MM_TEXT)
713
-
714
- def OnPreparePrinting(self, pInfo):
715
- flags = (
716
- win32ui.PD_USEDEVMODECOPIES | win32ui.PD_ALLPAGES | win32ui.PD_NOSELECTION
717
- ) # Don't support printing just a selection.
718
- # NOTE: Custom print dialogs are stopping the user's values from coming back :-(
719
- # self.prtDlg = PrintDialog(pInfo, PRINTDLGORD, flags)
720
- # pInfo.SetPrintDialog(self.prtDlg)
721
- pInfo.SetMinPage(1)
722
- # max page remains undefined for now.
723
- pInfo.SetFromPage(1)
724
- pInfo.SetToPage(1)
725
- ret = self.DoPreparePrinting(pInfo)
726
- return ret
727
-
728
- def OnBeginPrinting(self, dc, pInfo):
729
- self.starts = None
730
- return self._obj_.OnBeginPrinting(dc, pInfo)
731
-
732
- def CalculatePageRanges(self, dc, pInfo):
733
- # Calculate page ranges and max page
734
- self.starts = {0: 0}
735
- metrics = dc.GetTextMetrics()
736
- left, top, right, bottom = pInfo.GetDraw()
737
- # Leave space at the top for the header.
738
- rc = (left, top + int((9 * metrics["tmHeight"]) / 2), right, bottom)
739
- pageStart = 0
740
- maxPage = 0
741
- textLen = self.GetTextLength()
742
- while pageStart < textLen:
743
- pageStart = self.FormatRange(dc, pageStart, textLen, rc, 0)
744
- maxPage += 1
745
- self.starts[maxPage] = pageStart
746
- # And a sentinel for one page past the end
747
- self.starts[maxPage + 1] = textLen
748
- # When actually printing, maxPage doesn't have any effect at this late state.
749
- # but is needed to make the Print Preview work correctly.
750
- pInfo.SetMaxPage(maxPage)
751
-
752
- def OnFilePrintPreview(self, *arg):
753
- self._obj_.OnFilePrintPreview()
754
-
755
- def OnFilePrint(self, *arg):
756
- self._obj_.OnFilePrint()
757
-
758
- def FormatRange(self, dc, pageStart, lengthDoc, rc, draw):
759
- """
760
- typedef struct _formatrange {
761
- HDC hdc;
762
- HDC hdcTarget;
763
- RECT rc;
764
- RECT rcPage;
765
- CHARRANGE chrg;} FORMATRANGE;
766
- """
767
- fmt = "PPIIIIIIIIll"
768
- hdcRender = dc.GetHandleOutput()
769
- hdcFormat = dc.GetHandleAttrib()
770
- fr = struct.pack(
771
- fmt,
772
- hdcRender,
773
- hdcFormat,
774
- rc[0],
775
- rc[1],
776
- rc[2],
777
- rc[3],
778
- rc[0],
779
- rc[1],
780
- rc[2],
781
- rc[3],
782
- pageStart,
783
- lengthDoc,
784
- )
785
- nextPageStart = self.SendScintilla(EM_FORMATRANGE, draw, fr)
786
- return nextPageStart
787
-
788
- def OnPrint(self, dc, pInfo):
789
- metrics = dc.GetTextMetrics()
790
- # print("dev", w, h, l, metrics["tmAscent"], metrics["tmDescent"])
791
- if self.starts is None:
792
- self.CalculatePageRanges(dc, pInfo)
793
- pageNum = pInfo.GetCurPage() - 1
794
- # Setup the header of the page - docname on left, pagenum on right.
795
- doc = self.GetDocument()
796
- cxChar = metrics["tmAveCharWidth"]
797
- cyChar = metrics["tmHeight"]
798
- left, top, right, bottom = pInfo.GetDraw()
799
- dc.TextOut(0, 2 * cyChar, doc.GetTitle())
800
- pagenum_str = win32ui.LoadString(afxres.AFX_IDS_PRINTPAGENUM) % (pageNum + 1,)
801
- dc.SetTextAlign(win32con.TA_RIGHT)
802
- dc.TextOut(right, 2 * cyChar, pagenum_str)
803
- dc.SetTextAlign(win32con.TA_LEFT)
804
- top += int(7 * cyChar / 2)
805
- dc.MoveTo(left, top)
806
- dc.LineTo(right, top)
807
- top += cyChar
808
- rc = (left, top, right, bottom)
809
- nextPageStart = self.FormatRange(
810
- dc, self.starts[pageNum], self.starts[pageNum + 1], rc, 1
811
- )
812
-
813
-
814
- def LoadConfiguration():
815
- global configManager
816
- # Bit of a hack I don't kow what to do about?
817
- from .config import ConfigManager
818
-
819
- configName = rc = win32ui.GetProfileVal("Editor", "Keyboard Config", "default")
820
- configManager = ConfigManager(configName)
821
- if configManager.last_error:
822
- bTryDefault = 0
823
- msg = "Error loading configuration '{}'\n\n{}".format(
824
- configName,
825
- configManager.last_error,
826
- )
827
- if configName != "default":
828
- msg += "\n\nThe default configuration will be loaded."
829
- bTryDefault = 1
830
- win32ui.MessageBox(msg)
831
- if bTryDefault:
832
- configManager = ConfigManager("default")
833
- if configManager.last_error:
834
- win32ui.MessageBox(
835
- "Error loading configuration 'default'\n\n%s"
836
- % (configManager.last_error)
837
- )
838
-
839
-
840
- configManager = None
841
- LoadConfiguration()