debugpy 1.8.5__zip → 1.8.7__zip

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 (340) hide show
  1. {debugpy-1.8.5/src/debugpy.egg-info → debugpy-1.8.7}/PKG-INFO +1 -1
  2. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
  3. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
  4. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
  5. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
  6. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
  7. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
  8. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
  9. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
  10. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
  11. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
  12. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
  13. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
  14. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
  15. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
  16. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
  17. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
  18. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
  19. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
  20. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
  21. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
  22. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
  23. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
  24. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
  25. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
  26. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
  27. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
  28. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
  29. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
  30. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
  31. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
  32. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
  33. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
  34. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
  35. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
  36. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
  37. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
  38. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
  39. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
  40. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
  41. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
  42. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +328 -0
  43. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
  44. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
  45. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
  46. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
  47. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
  48. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
  49. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
  50. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
  51. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
  52. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
  53. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
  54. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
  55. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +159 -127
  56. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
  57. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +55527 -0
  58. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
  59. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +803 -511
  60. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
  61. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
  62. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
  63. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
  64. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
  65. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
  66. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
  67. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
  68. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
  69. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
  70. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +69 -61
  71. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
  72. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
  73. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
  74. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
  75. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
  76. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
  77. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
  78. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
  79. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
  80. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
  81. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
  82. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
  83. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
  84. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
  85. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
  86. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
  87. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
  88. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
  89. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
  90. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
  91. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
  92. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
  93. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
  94. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
  95. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
  96. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
  97. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
  98. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
  99. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
  100. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
  101. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
  102. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
  103. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
  104. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
  105. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
  106. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
  107. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
  108. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
  109. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
  110. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
  111. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
  112. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
  113. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
  114. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
  115. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
  116. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
  117. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
  118. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
  119. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
  120. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
  121. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
  122. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
  123. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1929 -0
  124. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43253 -0
  125. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
  126. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1935 -0
  127. debugpy-1.8.7/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
  128. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
  129. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
  130. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
  131. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
  132. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
  133. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
  134. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
  135. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
  136. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
  137. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
  138. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
  139. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
  140. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
  141. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
  142. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
  143. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
  144. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
  145. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
  146. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
  147. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
  148. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
  149. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
  150. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
  151. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
  152. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
  153. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
  154. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
  155. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  156. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  157. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
  158. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
  159. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  160. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  161. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
  162. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
  163. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  164. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  165. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
  166. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  167. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
  168. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  169. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  170. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  171. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  172. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
  173. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
  174. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
  175. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
  176. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
  177. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
  178. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
  179. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
  180. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
  181. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
  182. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
  183. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
  184. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
  185. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
  186. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
  187. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
  188. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
  189. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
  190. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
  191. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
  192. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
  193. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
  194. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
  195. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
  196. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
  197. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
  198. debugpy-1.8.7/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
  199. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
  200. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
  201. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
  202. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
  203. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
  204. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
  205. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
  206. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
  207. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
  208. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
  209. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/__init__.py +1 -0
  210. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
  211. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/__init__.py +1 -0
  212. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/__init__.py +1 -0
  213. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
  214. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
  215. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
  216. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
  217. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
  218. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
  219. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
  220. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
  221. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_version.py +3 -3
  222. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/messaging.py +2 -1
  223. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/cli.py +32 -17
  224. {debugpy-1.8.5 → debugpy-1.8.7/src/debugpy.egg-info}/PKG-INFO +1 -1
  225. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/SOURCES.txt +6 -1
  226. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
  227. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
  228. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
  229. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
  230. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
  231. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
  232. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +0 -43377
  233. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
  234. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
  235. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
  236. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
  237. debugpy-1.8.5/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
  238. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
  239. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
  240. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
  241. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
  242. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
  243. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
  244. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
  245. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
  246. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
  247. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
  248. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
  249. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
  250. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
  251. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
  252. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
  253. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
  254. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
  255. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
  256. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
  257. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
  258. debugpy-1.8.5/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
  259. {debugpy-1.8.5 → debugpy-1.8.7}/DESCRIPTION.md +0 -0
  260. {debugpy-1.8.5 → debugpy-1.8.7}/LICENSE +0 -0
  261. {debugpy-1.8.5 → debugpy-1.8.7}/MANIFEST.in +0 -0
  262. {debugpy-1.8.5 → debugpy-1.8.7}/README.md +0 -0
  263. {debugpy-1.8.5 → debugpy-1.8.7}/pyproject.toml +0 -0
  264. {debugpy-1.8.5 → debugpy-1.8.7}/setup.cfg +0 -0
  265. {debugpy-1.8.5 → debugpy-1.8.7}/setup.py +0 -0
  266. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/ThirdPartyNotices.txt +0 -0
  267. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__init__.py +0 -0
  268. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/__main__.py +0 -0
  269. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/__init__.py +0 -0
  270. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
  271. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/_util.py +0 -0
  272. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/force_pydevd.py +0 -0
  273. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
  274. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
  275. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
  276. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
  277. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
  278. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
  279. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
  280. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
  281. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
  282. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
  283. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
  284. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
  285. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
  286. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
  287. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
  288. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
  289. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
  290. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
  291. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
  292. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
  293. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
  294. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
  295. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
  296. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
  297. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
  298. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
  299. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
  300. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
  301. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
  302. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
  303. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
  304. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
  305. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
  306. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
  307. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
  308. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
  309. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
  310. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
  311. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
  312. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__init__.py +0 -0
  313. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/__main__.py +0 -0
  314. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/clients.py +0 -0
  315. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/components.py +0 -0
  316. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/launchers.py +0 -0
  317. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/servers.py +0 -0
  318. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/adapter/sessions.py +0 -0
  319. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/__init__.py +0 -0
  320. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/json.py +0 -0
  321. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/log.py +0 -0
  322. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/singleton.py +0 -0
  323. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/sockets.py +0 -0
  324. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/stacks.py +0 -0
  325. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/timestamp.py +0 -0
  326. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/common/util.py +0 -0
  327. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__init__.py +0 -0
  328. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/__main__.py +0 -0
  329. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/debuggee.py +0 -0
  330. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/handlers.py +0 -0
  331. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/output.py +0 -0
  332. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/launcher/winapi.py +0 -0
  333. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/public_api.py +0 -0
  334. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/__init__.py +0 -0
  335. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/api.py +0 -0
  336. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy/server/attach_pid_injected.py +0 -0
  337. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/dependency_links.txt +0 -0
  338. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/entry_points.txt +0 -0
  339. {debugpy-1.8.5 → debugpy-1.8.7}/src/debugpy.egg-info/top_level.txt +0 -0
  340. {debugpy-1.8.5 → debugpy-1.8.7}/versioneer.py +0 -0
@@ -2,8 +2,7 @@ import inspect
2
2
 
3
3
  from _pydev_bundle import pydev_log
4
4
  from _pydevd_bundle.pydevd_comm import CMD_SET_BREAK, CMD_ADD_EXCEPTION_BREAK
5
- from _pydevd_bundle.pydevd_constants import STATE_SUSPEND, DJANGO_SUSPEND, \
6
- DebugInfoHolder
5
+ from _pydevd_bundle.pydevd_constants import STATE_SUSPEND, DJANGO_SUSPEND, DebugInfoHolder
7
6
  from _pydevd_bundle.pydevd_frame_utils import add_exception_to_frame, FCode, just_raised, ignore_exception_trace
8
7
  from pydevd_file_utils import canonical_normalized_path, absolute_path
9
8
  from _pydevd_bundle.pydevd_api import PyDevdAPI
@@ -15,26 +14,29 @@ IS_DJANGO19 = False
15
14
  IS_DJANGO19_OR_HIGHER = False
16
15
  try:
17
16
  import django
17
+
18
18
  version = django.VERSION
19
19
  IS_DJANGO18 = version[0] == 1 and version[1] == 8
20
20
  IS_DJANGO19 = version[0] == 1 and version[1] == 9
21
- IS_DJANGO19_OR_HIGHER = ((version[0] == 1 and version[1] >= 9) or version[0] > 1)
21
+ IS_DJANGO19_OR_HIGHER = (version[0] == 1 and version[1] >= 9) or version[0] > 1
22
22
  except:
23
23
  pass
24
24
 
25
25
 
26
26
  class DjangoLineBreakpoint(LineBreakpointWithLazyValidation):
27
-
28
- def __init__(self, canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=None, is_logpoint=False):
27
+ def __init__(
28
+ self, canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=None, is_logpoint=False
29
+ ):
29
30
  self.canonical_normalized_filename = canonical_normalized_filename
30
- LineBreakpointWithLazyValidation.__init__(self, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint)
31
+ LineBreakpointWithLazyValidation.__init__(
32
+ self, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint
33
+ )
31
34
 
32
35
  def __str__(self):
33
36
  return "DjangoLineBreakpoint: %s-%d" % (self.canonical_normalized_filename, self.line)
34
37
 
35
38
 
36
39
  class _DjangoValidationInfo(ValidationInfo):
37
-
38
40
  @overrides(ValidationInfo._collect_valid_lines_in_template_uncached)
39
41
  def _collect_valid_lines_in_template_uncached(self, template):
40
42
  lines = set()
@@ -47,7 +49,7 @@ class _DjangoValidationInfo(ValidationInfo):
47
49
  return lines
48
50
 
49
51
  def _get_lineno(self, node):
50
- if hasattr(node, 'token') and hasattr(node.token, 'lineno'):
52
+ if hasattr(node, "token") and hasattr(node.token, "lineno"):
51
53
  return node.token.lineno
52
54
  return None
53
55
 
@@ -68,10 +70,32 @@ class _DjangoValidationInfo(ValidationInfo):
68
70
  yield node
69
71
 
70
72
 
71
- def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, breakpoint_id, line, condition, expression, func_name, hit_condition=None, is_logpoint=False, add_breakpoint_result=None, on_changed_breakpoint_state=None):
72
- if type == 'django-line':
73
- django_line_breakpoint = DjangoLineBreakpoint(canonical_normalized_filename, breakpoint_id, line, condition, func_name, expression, hit_condition=hit_condition, is_logpoint=is_logpoint)
74
- if not hasattr(pydb, 'django_breakpoints'):
73
+ def add_line_breakpoint(
74
+ pydb,
75
+ type,
76
+ canonical_normalized_filename,
77
+ breakpoint_id,
78
+ line,
79
+ condition,
80
+ expression,
81
+ func_name,
82
+ hit_condition=None,
83
+ is_logpoint=False,
84
+ add_breakpoint_result=None,
85
+ on_changed_breakpoint_state=None,
86
+ ):
87
+ if type == "django-line":
88
+ django_line_breakpoint = DjangoLineBreakpoint(
89
+ canonical_normalized_filename,
90
+ breakpoint_id,
91
+ line,
92
+ condition,
93
+ func_name,
94
+ expression,
95
+ hit_condition=hit_condition,
96
+ is_logpoint=is_logpoint,
97
+ )
98
+ if not hasattr(pydb, "django_breakpoints"):
75
99
  _init_plugin_breaks(pydb)
76
100
 
77
101
  if IS_DJANGO19_OR_HIGHER:
@@ -85,24 +109,25 @@ def add_line_breakpoint(plugin, pydb, type, canonical_normalized_filename, break
85
109
  return None
86
110
 
87
111
 
88
- def after_breakpoints_consolidated(plugin, py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints):
112
+ def after_breakpoints_consolidated(py_db, canonical_normalized_filename, id_to_pybreakpoint, file_to_line_to_breakpoints):
89
113
  if IS_DJANGO19_OR_HIGHER:
90
114
  django_breakpoints_for_file = file_to_line_to_breakpoints.get(canonical_normalized_filename)
91
115
  if not django_breakpoints_for_file:
92
116
  return
93
117
 
94
- if not hasattr(py_db, 'django_validation_info'):
118
+ if not hasattr(py_db, "django_validation_info"):
95
119
  _init_plugin_breaks(py_db)
96
120
 
97
121
  # In general we validate the breakpoints only when the template is loaded, but if the template
98
122
  # was already loaded, we can validate the breakpoints based on the last loaded value.
99
123
  py_db.django_validation_info.verify_breakpoints_from_template_cached_lines(
100
- py_db, canonical_normalized_filename, django_breakpoints_for_file)
124
+ py_db, canonical_normalized_filename, django_breakpoints_for_file
125
+ )
101
126
 
102
127
 
103
- def add_exception_breakpoint(plugin, pydb, type, exception):
104
- if type == 'django':
105
- if not hasattr(pydb, 'django_exception_break'):
128
+ def add_exception_breakpoint(pydb, type, exception):
129
+ if type == "django":
130
+ if not hasattr(pydb, "django_exception_break"):
106
131
  _init_plugin_breaks(pydb)
107
132
  pydb.django_exception_break[exception] = True
108
133
  return True
@@ -116,25 +141,25 @@ def _init_plugin_breaks(pydb):
116
141
  pydb.django_validation_info = _DjangoValidationInfo()
117
142
 
118
143
 
119
- def remove_exception_breakpoint(plugin, pydb, type, exception):
120
- if type == 'django':
144
+ def remove_exception_breakpoint(pydb, exception_type, exception):
145
+ if exception_type == "django":
121
146
  try:
122
147
  del pydb.django_exception_break[exception]
123
148
  return True
124
- except:
149
+ except KeyError:
125
150
  pass
126
151
  return False
127
152
 
128
153
 
129
- def remove_all_exception_breakpoints(plugin, pydb):
130
- if hasattr(pydb, 'django_exception_break'):
154
+ def remove_all_exception_breakpoints(pydb):
155
+ if hasattr(pydb, "django_exception_break"):
131
156
  pydb.django_exception_break = {}
132
157
  return True
133
158
  return False
134
159
 
135
160
 
136
- def get_breakpoints(plugin, pydb, type):
137
- if type == 'django-line':
161
+ def get_breakpoints(pydb, breakpoint_type):
162
+ if breakpoint_type == "django-line":
138
163
  return pydb.django_breakpoints
139
164
  return None
140
165
 
@@ -150,21 +175,21 @@ def _inherits(cls, *names):
150
175
  return inherits_node
151
176
 
152
177
 
153
- _IGNORE_RENDER_OF_CLASSES = ('TextNode', 'NodeList')
178
+ _IGNORE_RENDER_OF_CLASSES = ("TextNode", "NodeList")
154
179
 
155
180
 
156
- def _is_django_render_call(frame, debug=False):
181
+ def _is_django_render_call(frame):
157
182
  try:
158
183
  name = frame.f_code.co_name
159
- if name != 'render':
184
+ if name != "render":
160
185
  return False
161
186
 
162
- if 'self' not in frame.f_locals:
187
+ if "self" not in frame.f_locals:
163
188
  return False
164
189
 
165
- cls = frame.f_locals['self'].__class__
190
+ cls = frame.f_locals["self"].__class__
166
191
 
167
- inherits_node = _inherits(cls, 'Node')
192
+ inherits_node = _inherits(cls, "Node")
168
193
 
169
194
  if not inherits_node:
170
195
  return False
@@ -172,9 +197,9 @@ def _is_django_render_call(frame, debug=False):
172
197
  clsname = cls.__name__
173
198
  if IS_DJANGO19:
174
199
  # in Django 1.9 we need to save the flag that there is included template
175
- if clsname == 'IncludeNode':
176
- if 'context' in frame.f_locals:
177
- context = frame.f_locals['context']
200
+ if clsname == "IncludeNode":
201
+ if "context" in frame.f_locals:
202
+ context = frame.f_locals["context"]
178
203
  context._has_included_template = True
179
204
 
180
205
  return clsname not in _IGNORE_RENDER_OF_CLASSES
@@ -185,12 +210,12 @@ def _is_django_render_call(frame, debug=False):
185
210
 
186
211
  def _is_django_context_get_call(frame):
187
212
  try:
188
- if 'self' not in frame.f_locals:
213
+ if "self" not in frame.f_locals:
189
214
  return False
190
215
 
191
- cls = frame.f_locals['self'].__class__
216
+ cls = frame.f_locals["self"].__class__
192
217
 
193
- return _inherits(cls, 'BaseContext')
218
+ return _inherits(cls, "BaseContext")
194
219
  except:
195
220
  pydev_log.exception()
196
221
  return False
@@ -199,16 +224,16 @@ def _is_django_context_get_call(frame):
199
224
  def _is_django_resolve_call(frame):
200
225
  try:
201
226
  name = frame.f_code.co_name
202
- if name != '_resolve_lookup':
227
+ if name != "_resolve_lookup":
203
228
  return False
204
229
 
205
- if 'self' not in frame.f_locals:
230
+ if "self" not in frame.f_locals:
206
231
  return False
207
232
 
208
- cls = frame.f_locals['self'].__class__
233
+ cls = frame.f_locals["self"].__class__
209
234
 
210
235
  clsname = cls.__name__
211
- return clsname == 'Variable'
236
+ return clsname == "Variable"
212
237
  except:
213
238
  pydev_log.exception()
214
239
  return False
@@ -218,11 +243,11 @@ def _is_django_suspended(thread):
218
243
  return thread.additional_info.suspend_type == DJANGO_SUSPEND
219
244
 
220
245
 
221
- def suspend_django(main_debugger, thread, frame, cmd=CMD_SET_BREAK):
246
+ def suspend_django(py_db, thread, frame, cmd=CMD_SET_BREAK):
222
247
  if frame.f_lineno is None:
223
248
  return None
224
249
 
225
- main_debugger.set_suspend(thread, cmd)
250
+ py_db.set_suspend(thread, cmd)
226
251
  thread.additional_info.suspend_type = DJANGO_SUSPEND
227
252
 
228
253
  return frame
@@ -234,14 +259,15 @@ def _find_django_render_frame(frame):
234
259
 
235
260
  return frame
236
261
 
237
- #=======================================================================================================================
262
+
263
+ # =======================================================================================================================
238
264
  # Django Frame
239
- #=======================================================================================================================
265
+ # =======================================================================================================================
240
266
 
241
267
 
242
268
  def _read_file(filename):
243
269
  # type: (str) -> str
244
- f = open(filename, 'r', encoding='utf-8', errors='replace')
270
+ f = open(filename, "r", encoding="utf-8", errors="replace")
245
271
  s = f.read()
246
272
  f.close()
247
273
  return s
@@ -254,11 +280,11 @@ def _offset_to_line_number(text, offset):
254
280
  if curOffset == len(text):
255
281
  return -1
256
282
  c = text[curOffset]
257
- if c == '\n':
283
+ if c == "\n":
258
284
  curLine += 1
259
- elif c == '\r':
285
+ elif c == "\r":
260
286
  curLine += 1
261
- if curOffset < len(text) and text[curOffset + 1] == '\n':
287
+ if curOffset < len(text) and text[curOffset + 1] == "\n":
262
288
  curOffset += 1
263
289
 
264
290
  curOffset += 1
@@ -269,18 +295,21 @@ def _offset_to_line_number(text, offset):
269
295
  def _get_source_django_18_or_lower(frame):
270
296
  # This method is usable only for the Django <= 1.8
271
297
  try:
272
- node = frame.f_locals['self']
273
- if hasattr(node, 'source'):
298
+ node = frame.f_locals["self"]
299
+ if hasattr(node, "source"):
274
300
  return node.source
275
301
  else:
276
302
  if IS_DJANGO18:
277
303
  # The debug setting was changed since Django 1.8
278
- pydev_log.error_once("WARNING: Template path is not available. Set the 'debug' option in the OPTIONS of a DjangoTemplates "
279
- "backend.")
304
+ pydev_log.error_once(
305
+ "WARNING: Template path is not available. Set the 'debug' option in the OPTIONS of a DjangoTemplates " "backend."
306
+ )
280
307
  else:
281
308
  # The debug setting for Django < 1.8
282
- pydev_log.error_once("WARNING: Template path is not available. Please set TEMPLATE_DEBUG=True in your settings.py to make "
283
- "django template breakpoints working")
309
+ pydev_log.error_once(
310
+ "WARNING: Template path is not available. Please set TEMPLATE_DEBUG=True in your settings.py to make "
311
+ "django template breakpoints working"
312
+ )
284
313
  return None
285
314
 
286
315
  except:
@@ -296,29 +325,27 @@ def _get_template_original_file_name_from_frame(frame):
296
325
  try:
297
326
  if IS_DJANGO19:
298
327
  # The Node source was removed since Django 1.9
299
- if 'context' in frame.f_locals:
300
- context = frame.f_locals['context']
301
- if hasattr(context, '_has_included_template'):
328
+ if "context" in frame.f_locals:
329
+ context = frame.f_locals["context"]
330
+ if hasattr(context, "_has_included_template"):
302
331
  # if there was included template we need to inspect the previous frames and find its name
303
332
  back = frame.f_back
304
- while back is not None and frame.f_code.co_name in ('render', '_render'):
333
+ while back is not None and frame.f_code.co_name in ("render", "_render"):
305
334
  locals = back.f_locals
306
- if 'self' in locals:
307
- self = locals['self']
308
- if self.__class__.__name__ == 'Template' and hasattr(self, 'origin') and \
309
- hasattr(self.origin, 'name'):
335
+ if "self" in locals:
336
+ self = locals["self"]
337
+ if self.__class__.__name__ == "Template" and hasattr(self, "origin") and hasattr(self.origin, "name"):
310
338
  return _convert_to_str(self.origin.name)
311
339
  back = back.f_back
312
340
  else:
313
- if hasattr(context, 'template') and hasattr(context.template, 'origin') and \
314
- hasattr(context.template.origin, 'name'):
341
+ if hasattr(context, "template") and hasattr(context.template, "origin") and hasattr(context.template.origin, "name"):
315
342
  return _convert_to_str(context.template.origin.name)
316
343
  return None
317
344
  elif IS_DJANGO19_OR_HIGHER:
318
345
  # For Django 1.10 and later there is much simpler way to get template name
319
- if 'self' in frame.f_locals:
320
- self = frame.f_locals['self']
321
- if hasattr(self, 'origin') and hasattr(self.origin, 'name'):
346
+ if "self" in frame.f_locals:
347
+ self = frame.f_locals["self"]
348
+ if hasattr(self, "origin") and hasattr(self.origin, "name"):
322
349
  return _convert_to_str(self.origin.name)
323
350
  return None
324
351
 
@@ -328,21 +355,21 @@ def _get_template_original_file_name_from_frame(frame):
328
355
  return None
329
356
  fname = _convert_to_str(source[0].name)
330
357
 
331
- if fname == '<unknown source>':
358
+ if fname == "<unknown source>":
332
359
  pydev_log.debug("Source name is %s\n" % fname)
333
360
  return None
334
361
  else:
335
362
  return fname
336
363
  except:
337
364
  if DebugInfoHolder.DEBUG_TRACE_LEVEL >= 2:
338
- pydev_log.exception('Error getting django template filename.')
365
+ pydev_log.exception("Error getting django template filename.")
339
366
  return None
340
367
 
341
368
 
342
369
  def _get_template_line(frame):
343
370
  if IS_DJANGO19_OR_HIGHER:
344
- node = frame.f_locals['self']
345
- if hasattr(node, 'token') and hasattr(node.token, 'lineno'):
371
+ node = frame.f_locals["self"]
372
+ if hasattr(node, "token") and hasattr(node.token, "lineno"):
346
373
  return node.token.lineno
347
374
  else:
348
375
  return None
@@ -359,13 +386,12 @@ def _get_template_line(frame):
359
386
 
360
387
 
361
388
  class DjangoTemplateFrame(object):
362
-
363
389
  IS_PLUGIN_FRAME = True
364
390
 
365
391
  def __init__(self, frame):
366
392
  original_filename = _get_template_original_file_name_from_frame(frame)
367
- self._back_context = frame.f_locals['context']
368
- self.f_code = FCode('Django Template', original_filename)
393
+ self._back_context = frame.f_locals["context"]
394
+ self.f_code = FCode("Django Template", original_filename)
369
395
  self.f_lineno = _get_template_line(frame)
370
396
  self.f_back = frame
371
397
  self.f_globals = {}
@@ -378,7 +404,7 @@ class DjangoTemplateFrame(object):
378
404
  for d in context.dicts:
379
405
  for k, v in d.items():
380
406
  res[k] = v
381
- except AttributeError:
407
+ except AttributeError:
382
408
  pass
383
409
  return res
384
410
 
@@ -390,11 +416,10 @@ class DjangoTemplateFrame(object):
390
416
 
391
417
 
392
418
  class DjangoTemplateSyntaxErrorFrame(object):
393
-
394
419
  IS_PLUGIN_FRAME = True
395
420
 
396
421
  def __init__(self, frame, original_filename, lineno, f_locals):
397
- self.f_code = FCode('Django TemplateSyntaxError', original_filename)
422
+ self.f_code = FCode("Django TemplateSyntaxError", original_filename)
398
423
  self.f_lineno = lineno
399
424
  self.f_back = frame
400
425
  self.f_globals = {}
@@ -402,12 +427,12 @@ class DjangoTemplateSyntaxErrorFrame(object):
402
427
  self.f_trace = None
403
428
 
404
429
 
405
- def change_variable(plugin, frame, attr, expression):
430
+ def change_variable(frame, attr, expression, default):
406
431
  if isinstance(frame, DjangoTemplateFrame):
407
432
  result = eval(expression, frame.f_globals, frame.f_locals)
408
433
  frame._change_variable(attr, result)
409
434
  return result
410
- return False
435
+ return default
411
436
 
412
437
 
413
438
  def _is_django_variable_does_not_exist_exception_break_context(frame):
@@ -415,102 +440,103 @@ def _is_django_variable_does_not_exist_exception_break_context(frame):
415
440
  name = frame.f_code.co_name
416
441
  except:
417
442
  name = None
418
- return name in ('_resolve_lookup', 'find_template')
443
+ return name in ("_resolve_lookup", "find_template")
419
444
 
420
445
 
421
446
  def _is_ignoring_failures(frame):
422
447
  while frame is not None:
423
- if frame.f_code.co_name == 'resolve':
424
- ignore_failures = frame.f_locals.get('ignore_failures')
448
+ if frame.f_code.co_name == "resolve":
449
+ ignore_failures = frame.f_locals.get("ignore_failures")
425
450
  if ignore_failures:
426
451
  return True
427
452
  frame = frame.f_back
428
453
 
429
454
  return False
430
455
 
431
- #=======================================================================================================================
456
+
457
+ # =======================================================================================================================
432
458
  # Django Step Commands
433
- #=======================================================================================================================
459
+ # =======================================================================================================================
434
460
 
435
461
 
436
- def can_skip(plugin, main_debugger, frame):
437
- if main_debugger.django_breakpoints:
462
+ def can_skip(py_db, frame):
463
+ if py_db.django_breakpoints:
438
464
  if _is_django_render_call(frame):
439
465
  return False
440
466
 
441
- if main_debugger.django_exception_break:
442
- module_name = frame.f_globals.get('__name__', '')
467
+ if py_db.django_exception_break:
468
+ module_name = frame.f_globals.get("__name__", "")
443
469
 
444
- if module_name == 'django.template.base':
470
+ if module_name == "django.template.base":
445
471
  # Exceptions raised at django.template.base must be checked.
446
472
  return False
447
473
 
448
474
  return True
449
475
 
450
476
 
451
- def has_exception_breaks(plugin):
452
- if len(plugin.main_debugger.django_exception_break) > 0:
477
+ is_tracked_frame = _is_django_render_call
478
+
479
+
480
+ def required_events_breakpoint():
481
+ return ("call",)
482
+
483
+
484
+ def required_events_stepping():
485
+ return ("call", "return")
486
+
487
+
488
+ def has_exception_breaks(py_db):
489
+ if len(py_db.django_exception_break) > 0:
453
490
  return True
454
491
  return False
455
492
 
456
493
 
457
- def has_line_breaks(plugin):
458
- for _canonical_normalized_filename, breakpoints in plugin.main_debugger.django_breakpoints.items():
494
+ def has_line_breaks(py_db):
495
+ for _canonical_normalized_filename, breakpoints in py_db.django_breakpoints.items():
459
496
  if len(breakpoints) > 0:
460
497
  return True
461
498
  return False
462
499
 
463
500
 
464
- def cmd_step_into(plugin, main_debugger, frame, event, args, stop_info, stop):
465
- info = args[2]
466
- thread = args[3]
501
+ def cmd_step_into(py_db, frame, event, info, thread, stop_info, stop):
467
502
  plugin_stop = False
468
503
  if _is_django_suspended(thread):
469
- stop_info['django_stop'] = event == 'call' and _is_django_render_call(frame)
470
- plugin_stop = stop_info['django_stop']
504
+ plugin_stop = stop_info["django_stop"] = event == "call" and _is_django_render_call(frame)
471
505
  stop = stop and _is_django_resolve_call(frame.f_back) and not _is_django_context_get_call(frame)
472
506
  if stop:
473
507
  info.pydev_django_resolve_frame = True # we remember that we've go into python code from django rendering frame
474
508
  return stop, plugin_stop
475
509
 
476
510
 
477
- def cmd_step_over(plugin, main_debugger, frame, event, args, stop_info, stop):
478
- info = args[2]
479
- thread = args[3]
511
+ def cmd_step_over(py_db, frame, event, info, thread, stop_info, stop):
480
512
  plugin_stop = False
481
513
  if _is_django_suspended(thread):
482
- stop_info['django_stop'] = event == 'call' and _is_django_render_call(frame)
483
- plugin_stop = stop_info['django_stop']
514
+ plugin_stop = stop_info["django_stop"] = event == "call" and _is_django_render_call(frame)
484
515
  stop = False
485
516
  return stop, plugin_stop
486
517
  else:
487
- if event == 'return' and info.pydev_django_resolve_frame and _is_django_resolve_call(frame.f_back):
518
+ if event == "return" and info.pydev_django_resolve_frame and _is_django_resolve_call(frame.f_back):
488
519
  # we return to Django suspend mode and should not stop before django rendering frame
489
520
  info.pydev_step_stop = frame.f_back
490
521
  info.pydev_django_resolve_frame = False
491
522
  thread.additional_info.suspend_type = DJANGO_SUSPEND
492
- stop = info.pydev_step_stop is frame and event in ('line', 'return')
523
+ stop = info.pydev_step_stop is frame and event in ("line", "return")
493
524
  return stop, plugin_stop
494
525
 
495
526
 
496
- def stop(plugin, main_debugger, frame, event, args, stop_info, arg, step_cmd):
497
- main_debugger = args[0]
498
- thread = args[3]
499
- if 'django_stop' in stop_info and stop_info['django_stop']:
500
- frame = suspend_django(main_debugger, thread, DjangoTemplateFrame(frame), step_cmd)
527
+ def stop(py_db, frame, event, thread, stop_info, arg, step_cmd):
528
+ if "django_stop" in stop_info and stop_info["django_stop"]:
529
+ frame = suspend_django(py_db, thread, DjangoTemplateFrame(frame), step_cmd)
501
530
  if frame:
502
- main_debugger.do_wait_suspend(thread, frame, event, arg)
531
+ py_db.do_wait_suspend(thread, frame, event, arg)
503
532
  return True
504
533
  return False
505
534
 
506
535
 
507
- def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args):
508
- py_db = args[0]
509
- _filename = args[1]
510
- info = args[2]
511
- breakpoint_type = 'django'
536
+ def get_breakpoint(py_db, frame, event, info):
537
+ breakpoint_type = "django"
512
538
 
513
- if event == 'call' and info.pydev_state != STATE_SUSPEND and py_db.django_breakpoints and _is_django_render_call(frame):
539
+ if event == "call" and info.pydev_state != STATE_SUSPEND and py_db.django_breakpoints and _is_django_render_call(frame):
514
540
  original_filename = _get_template_original_file_name_from_frame(frame)
515
541
  pydev_log.debug("Django is rendering a template: %s", original_filename)
516
542
 
@@ -518,13 +544,14 @@ def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args):
518
544
  django_breakpoints_for_file = py_db.django_breakpoints.get(canonical_normalized_filename)
519
545
 
520
546
  if django_breakpoints_for_file:
521
-
522
547
  # At this point, let's validate whether template lines are correct.
523
548
  if IS_DJANGO19_OR_HIGHER:
524
549
  django_validation_info = py_db.django_validation_info
525
- context = frame.f_locals['context']
550
+ context = frame.f_locals["context"]
526
551
  django_template = context.template
527
- django_validation_info.verify_breakpoints(py_db, canonical_normalized_filename, django_breakpoints_for_file, django_template)
552
+ django_validation_info.verify_breakpoints(
553
+ py_db, canonical_normalized_filename, django_breakpoints_for_file, django_template
554
+ )
528
555
 
529
556
  pydev_log.debug("Breakpoints for that file: %s", django_breakpoints_for_file)
530
557
  template_line = _get_template_line(frame)
@@ -533,14 +560,14 @@ def get_breakpoint(plugin, py_db, pydb_frame, frame, event, args):
533
560
  if template_line in django_breakpoints_for_file:
534
561
  django_breakpoint = django_breakpoints_for_file[template_line]
535
562
  new_frame = DjangoTemplateFrame(frame)
536
- return True, django_breakpoint, new_frame, breakpoint_type
563
+ return django_breakpoint, new_frame, breakpoint_type
537
564
 
538
- return False, None, None, breakpoint_type
565
+ return None
539
566
 
540
567
 
541
- def suspend(plugin, main_debugger, thread, frame, bp_type):
542
- if bp_type == 'django':
543
- return suspend_django(main_debugger, thread, DjangoTemplateFrame(frame))
568
+ def suspend(py_db, thread, frame, bp_type):
569
+ if bp_type == "django":
570
+ return suspend_django(py_db, thread, DjangoTemplateFrame(frame))
544
571
  return None
545
572
 
546
573
 
@@ -552,60 +579,59 @@ def _get_original_filename_from_origin_in_parent_frame_locals(frame, parent_fram
552
579
 
553
580
  origin = None
554
581
  if parent_frame is not None:
555
- origin = parent_frame.f_locals.get('origin')
582
+ origin = parent_frame.f_locals.get("origin")
556
583
 
557
- if hasattr(origin, 'name') and origin.name is not None:
584
+ if hasattr(origin, "name") and origin.name is not None:
558
585
  filename = _convert_to_str(origin.name)
559
586
  return filename
560
587
 
561
588
 
562
- def exception_break(plugin, main_debugger, pydb_frame, frame, args, arg):
563
- main_debugger = args[0]
564
- thread = args[3]
589
+ def exception_break(py_db, frame, thread, arg):
565
590
  exception, value, trace = arg
566
591
 
567
- if main_debugger.django_exception_break and exception is not None:
568
- if exception.__name__ in ['VariableDoesNotExist', 'TemplateDoesNotExist', 'TemplateSyntaxError'] and \
569
- just_raised(trace) and not ignore_exception_trace(trace):
570
-
571
- if exception.__name__ == 'TemplateSyntaxError':
592
+ if py_db.django_exception_break and exception is not None:
593
+ if (
594
+ exception.__name__ in ["VariableDoesNotExist", "TemplateDoesNotExist", "TemplateSyntaxError"]
595
+ and just_raised(trace)
596
+ and not ignore_exception_trace(trace)
597
+ ):
598
+ if exception.__name__ == "TemplateSyntaxError":
572
599
  # In this case we don't actually have a regular render frame with the context
573
600
  # (we didn't really get to that point).
574
- token = getattr(value, 'token', None)
601
+ token = getattr(value, "token", None)
575
602
 
576
603
  if token is None:
577
604
  # Django 1.7 does not have token in exception. Try to get it from locals.
578
- token = frame.f_locals.get('token')
605
+ token = frame.f_locals.get("token")
579
606
 
580
- lineno = getattr(token, 'lineno', None)
607
+ lineno = getattr(token, "lineno", None)
581
608
 
582
609
  original_filename = None
583
610
  if lineno is not None:
584
- original_filename = _get_original_filename_from_origin_in_parent_frame_locals(frame, 'get_template')
611
+ original_filename = _get_original_filename_from_origin_in_parent_frame_locals(frame, "get_template")
585
612
 
586
613
  if original_filename is None:
587
614
  # Django 1.7 does not have origin in get_template. Try to get it from
588
615
  # load_template.
589
- original_filename = _get_original_filename_from_origin_in_parent_frame_locals(frame, 'load_template')
616
+ original_filename = _get_original_filename_from_origin_in_parent_frame_locals(frame, "load_template")
590
617
 
591
618
  if original_filename is not None and lineno is not None:
592
619
  syntax_error_frame = DjangoTemplateSyntaxErrorFrame(
593
- frame, original_filename, lineno, {'token': token, 'exception': exception})
620
+ frame, original_filename, lineno, {"token": token, "exception": exception}
621
+ )
594
622
 
595
- suspend_frame = suspend_django(
596
- main_debugger, thread, syntax_error_frame, CMD_ADD_EXCEPTION_BREAK)
623
+ suspend_frame = suspend_django(py_db, thread, syntax_error_frame, CMD_ADD_EXCEPTION_BREAK)
597
624
  return True, suspend_frame
598
625
 
599
- elif exception.__name__ == 'VariableDoesNotExist':
626
+ elif exception.__name__ == "VariableDoesNotExist":
600
627
  if _is_django_variable_does_not_exist_exception_break_context(frame):
601
- if not getattr(exception, 'silent_variable_failure', False) and not _is_ignoring_failures(frame):
628
+ if not getattr(exception, "silent_variable_failure", False) and not _is_ignoring_failures(frame):
602
629
  render_frame = _find_django_render_frame(frame)
603
630
  if render_frame:
604
- suspend_frame = suspend_django(
605
- main_debugger, thread, DjangoTemplateFrame(render_frame), CMD_ADD_EXCEPTION_BREAK)
631
+ suspend_frame = suspend_django(py_db, thread, DjangoTemplateFrame(render_frame), CMD_ADD_EXCEPTION_BREAK)
606
632
  if suspend_frame:
607
633
  add_exception_to_frame(suspend_frame, (exception, value, trace))
608
- thread.additional_info.pydev_message = 'VariableDoesNotExist'
634
+ thread.additional_info.pydev_message = "VariableDoesNotExist"
609
635
  suspend_frame.f_back = frame
610
636
  frame = suspend_frame
611
637
  return True, frame