debugpy 1.8.3__zip → 1.8.6__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.
- {debugpy-1.8.3/src/debugpy.egg-info → debugpy-1.8.6}/PKG-INFO +1 -1
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_calltip_util.py +19 -21
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_completer.py +30 -30
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_execfile.py +3 -1
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +43 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_getopt.py +35 -32
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_imports_tipper.py +83 -84
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_jy_imports_tipper.py +92 -99
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_log.py +2 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_saved_modules.py +51 -27
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_sys_patch.py +11 -7
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_tipper_common.py +6 -5
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/fsnotify/__init__.py +34 -38
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_console_utils.py +71 -69
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_import_hook.py +1 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_imports.py +0 -1
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console.py +14 -16
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_ipython_console_011.py +81 -93
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_is_thread_alive.py +3 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_localhost.py +9 -8
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_log.py +33 -25
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey.py +183 -170
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_monkey_qt.py +33 -29
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_override.py +6 -4
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_umd.py +19 -18
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/pydev_versioncheck.py +3 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles.py +165 -138
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +77 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_nose.py +35 -36
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel.py +22 -23
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_parallel_client.py +37 -57
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_pytest2.py +54 -52
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_unittest.py +28 -37
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_xml_rpc.py +56 -53
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +604 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocol.json +551 -445
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_base_schema.py +25 -29
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +17458 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema_log.py +11 -12
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevconsole_code.py +18 -19
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +41 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +327 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_api.py +263 -214
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_breakpoints.py +7 -10
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils.py +187 -92
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_bytecode_utils_py311.py +105 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_code_to_source.py +46 -51
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_collect_bytecode_info.py +239 -176
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm.py +370 -297
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_comm_constants.py +78 -86
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_command_line_handling.py +55 -59
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_concurrency_logger.py +194 -58
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/pydevd_thread_wrappers.py +2 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_console.py +18 -23
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_constants.py +157 -127
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_custom_frames.py +10 -12
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.c +35217 -23106
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pxd +15 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython.pyx +802 -511
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_cython_wrapper.py +18 -7
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_daemon_thread.py +32 -24
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_defaults.py +11 -13
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace.py +16 -16
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_dont_trace_files.py +27 -2
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_exec2.py +1 -1
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_api.py +4 -5
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_extension_utils.py +8 -10
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_filtering.py +50 -45
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame.py +462 -407
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_frame_utils.py +63 -61
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_gevent_integration.py +14 -16
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_import_class.py +27 -25
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_io.py +40 -42
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +200 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command.py +20 -19
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_json.py +199 -108
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_net_command_factory_xml.py +121 -73
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +208 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command.py +206 -159
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_process_net_command_json.py +346 -334
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_referrers.py +75 -80
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_reload.py +35 -35
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_resolver.py +116 -124
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_runpy.py +44 -58
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_safe_repr.py +51 -55
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_save_locals.py +4 -2
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_signature.py +24 -24
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_source_mapping.py +19 -20
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_stackless.py +45 -49
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_suspended_frames.py +61 -58
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_thread_lifecycle.py +23 -13
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_timeout.py +29 -31
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch.py +41 -11
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_dispatch_regular.py +117 -55
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_traceproperty.py +11 -14
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_utils.py +90 -89
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vars.py +106 -97
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +40 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_xml.py +56 -46
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_cython_wrapper.py +5 -5
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +71 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.c +11165 -5326
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_tracing.py +5 -6
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_modify_bytecode.py +53 -56
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/__init__.py +1 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/bytecode.py +4 -6
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/cfg.py +6 -26
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/concrete.py +7 -21
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/flags.py +5 -24
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/instr.py +10 -34
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/peephole_opt.py +1 -4
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/__init__.py +2 -6
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_bytecode.py +3 -5
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_cfg.py +11 -31
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_code.py +2 -2
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_concrete.py +14 -41
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_flags.py +2 -4
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_instr.py +7 -18
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_misc.py +6 -18
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/test_peephole_opt.py +7 -18
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode/tests/util_annotation.py +1 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/pydevd_fix_code.py +14 -19
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring.py +1927 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.c +43058 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pxd +46 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/_pydevd_sys_monitoring_cython.pyx +1934 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/_pydevd_sys_monitoring/pydevd_sys_monitoring.py +16 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_app_engine_debug_startup.py +12 -11
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_coverage.py +30 -32
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhook.py +58 -54
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookglut.py +20 -24
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk.py +8 -7
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookgtk3.py +8 -6
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookpyglet.py +11 -8
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt4.py +21 -18
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt5.py +17 -15
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookqt6.py +17 -15
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhooktk.py +6 -4
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/inputhookwx.py +14 -10
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/matplotlibtools.py +30 -26
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +24 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_for_kernel.py +37 -34
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/qt_loaders.py +86 -73
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/version.py +7 -7
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_pysrc.py +1 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_run_in_console.py +23 -24
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +267 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevconsole.py +55 -47
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd.py +732 -508
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +40 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_check.py +1 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +11 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +75 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/add_code_to_python_process.py +130 -125
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +89 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_script.py +41 -32
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_utils.hpp +1 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_version.hpp +9 -1
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.exe +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/lldb_prepare.py +10 -9
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/__init__.py +103 -119
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/breakpoint.py +457 -516
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/compat.py +33 -15
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/crash.py +336 -281
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/debug.py +101 -131
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/disasm.py +148 -153
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/event.py +310 -302
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/interactive.py +235 -208
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/module.py +185 -218
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/process.py +428 -564
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/registry.py +54 -53
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/search.py +69 -73
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/sql.py +158 -170
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/system.py +143 -213
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/textio.py +302 -333
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/thread.py +220 -239
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/util.py +198 -177
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/__init__.py +11 -11
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/advapi32.py +1191 -713
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_amd64.py +248 -194
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/context_i386.py +132 -120
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/dbghelp.py +450 -346
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/defines.py +305 -286
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +526 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/kernel32.py +1479 -1097
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +579 -0
- debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +3517 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/psapi.py +54 -31
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shell32.py +170 -149
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/shlwapi.py +190 -108
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/user32.py +542 -437
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/version.py +489 -442
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/wtsapi32.py +83 -65
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/window.py +70 -76
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.cpp +17 -9
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/compile_windows.bat +1 -1
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_file_utils.py +141 -120
- {debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types → debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_plugins}/__init__.py +1 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/django_debug.py +175 -149
- {debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_plugins → debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions}/__init__.py +1 -0
- {debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions → debugpy-1.8.6/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types}/__init__.py +1 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_helpers.py +5 -5
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_numpy_types.py +28 -28
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugin_pandas_types.py +22 -30
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/types/pydevd_plugins_django_form_str.py +3 -2
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/jinja2_debug.py +130 -108
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/pydevd_line_validation.py +27 -14
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_tracing.py +85 -66
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/setup_pydevd_cython.py +96 -59
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_version.py +3 -3
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/messaging.py +2 -1
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/cli.py +32 -17
- {debugpy-1.8.3 → debugpy-1.8.6/src/debugpy.egg-info}/PKG-INFO +1 -1
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/SOURCES.txt +6 -9
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydev_bundle/_pydev_filesystem_encoding.py +0 -41
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydev_runfiles/pydev_runfiles_coverage.py +0 -76
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__main__pydevd_gen_debug_adapter_protocol.py +0 -592
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/pydevd_schema.py +0 -19514
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info.py +0 -19
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_additional_thread_info_regular.py +0 -153
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_json_debug_options.py +0 -204
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_plugin_utils.py +0 -91
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_trace_api.py +0 -62
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_vm_type.py +0 -41
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_eval_main.py +0 -48
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/COPYING +0 -21
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/INSTALLER +0 -1
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/METADATA +0 -77
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/RECORD +0 -42
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/REQUESTED +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/WHEEL +0 -5
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/direct_url.json +0 -1
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/bytecode-0.13.0.dev0.dist-info/top_level.txt +0 -1
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_ipython/qt.py +0 -23
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_pysrc.py +0 -1
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydev_sitecustomize/sitecustomize.py +0 -237
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_always_live_program.py +0 -32
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process.py +0 -9
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/_test_attach_to_process_linux.py +0 -74
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.dll +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_amd64.pdb +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_pydevd.py +0 -79
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.dll +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/attach_x86.pdb +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.exe +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_amd64.pdb +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/inject_dll_x86.pdb +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.dll +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_amd64.pdb +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.dll +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/run_code_on_dllmain_x86.pdb +0 -0
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/gdi32.py +0 -507
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/ntdll.py +0 -539
- debugpy-1.8.3/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/winappdbg/win32/peb_teb.py +0 -3435
- {debugpy-1.8.3 → debugpy-1.8.6}/DESCRIPTION.md +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/LICENSE +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/MANIFEST.in +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/README.md +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/pyproject.toml +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/setup.cfg +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/setup.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/ThirdPartyNotices.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/__main__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/_pydevd_packaging.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/_util.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/force_pydevd.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_bundle/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydev_runfiles/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/_debug_adapter/debugProtocolCustom.json +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_bundle/pydevd_concurrency_analyser/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/.gitignore +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pxd +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.pyx +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/pydevd_frame_evaluator.template.pyx +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/release_mem.h +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/README.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/_pydevd_frame_eval/vendored/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/README +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_ipython/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydev_sitecustomize/__not_in_default_pythonpath.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/README.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_310.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_311.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_custom_pyeval_settrace_common.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/py_settrace.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/python.h +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/common/ref_utils.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/.gitignore +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/attach.cpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_linux.sh +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_mac.sh +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/linux_and_mac/compile_manylinux.cmd +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/attach.h +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/inject_dll.cpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/py_win_helpers.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_in_memory.hpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/run_code_on_dllmain.cpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.cpp +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/stdafx.h +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_attach_to_process/windows/targetver.h +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/_vendored/pydevd/pydevd_plugins/extensions/README.md +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/__main__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/clients.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/components.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/launchers.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/servers.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/adapter/sessions.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/json.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/log.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/singleton.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/sockets.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/stacks.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/timestamp.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/common/util.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/__main__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/debuggee.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/handlers.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/output.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/launcher/winapi.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/public_api.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/__init__.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/api.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy/server/attach_pid_injected.py +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/dependency_links.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/entry_points.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/src/debugpy.egg-info/top_level.txt +0 -0
- {debugpy-1.8.3 → debugpy-1.8.6}/versioneer.py +0 -0
|
@@ -37,50 +37,51 @@ __revision__ = "$Id$"
|
|
|
37
37
|
from winappdbg.win32.defines import *
|
|
38
38
|
from winappdbg.win32.kernel32 import *
|
|
39
39
|
|
|
40
|
-
|
|
40
|
+
# ==============================================================================
|
|
41
41
|
# This is used later on to calculate the list of exported symbols.
|
|
42
42
|
_all = None
|
|
43
43
|
_all = set(vars().keys())
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
OS_WINDOWS
|
|
47
|
-
OS_NT
|
|
48
|
-
OS_WIN95ORGREATER
|
|
49
|
-
OS_NT4ORGREATER
|
|
50
|
-
OS_WIN98ORGREATER
|
|
51
|
-
OS_WIN98_GOLD
|
|
52
|
-
OS_WIN2000ORGREATER
|
|
53
|
-
OS_WIN2000PRO
|
|
54
|
-
OS_WIN2000SERVER
|
|
55
|
-
OS_WIN2000ADVSERVER
|
|
56
|
-
OS_WIN2000DATACENTER
|
|
57
|
-
OS_WIN2000TERMINAL
|
|
58
|
-
OS_EMBEDDED
|
|
59
|
-
OS_TERMINALCLIENT
|
|
60
|
-
OS_TERMINALREMOTEADMIN
|
|
61
|
-
OS_WIN95_GOLD
|
|
62
|
-
OS_MEORGREATER
|
|
63
|
-
OS_XPORGREATER
|
|
64
|
-
OS_HOME
|
|
65
|
-
OS_PROFESSIONAL
|
|
66
|
-
OS_DATACENTER
|
|
67
|
-
OS_ADVSERVER
|
|
68
|
-
OS_SERVER
|
|
69
|
-
OS_TERMINALSERVER
|
|
70
|
-
OS_PERSONALTERMINALSERVER
|
|
71
|
-
OS_FASTUSERSWITCHING
|
|
72
|
-
OS_WELCOMELOGONUI
|
|
73
|
-
OS_DOMAINMEMBER
|
|
74
|
-
OS_ANYSERVER
|
|
75
|
-
OS_WOW6432
|
|
76
|
-
OS_WEBSERVER
|
|
77
|
-
OS_SMALLBUSINESSSERVER
|
|
78
|
-
OS_TABLETPC
|
|
79
|
-
OS_SERVERADMINUI
|
|
80
|
-
OS_MEDIACENTER
|
|
81
|
-
OS_APPLIANCE
|
|
82
|
-
|
|
83
|
-
|
|
44
|
+
# ==============================================================================
|
|
45
|
+
|
|
46
|
+
OS_WINDOWS = 0
|
|
47
|
+
OS_NT = 1
|
|
48
|
+
OS_WIN95ORGREATER = 2
|
|
49
|
+
OS_NT4ORGREATER = 3
|
|
50
|
+
OS_WIN98ORGREATER = 5
|
|
51
|
+
OS_WIN98_GOLD = 6
|
|
52
|
+
OS_WIN2000ORGREATER = 7
|
|
53
|
+
OS_WIN2000PRO = 8
|
|
54
|
+
OS_WIN2000SERVER = 9
|
|
55
|
+
OS_WIN2000ADVSERVER = 10
|
|
56
|
+
OS_WIN2000DATACENTER = 11
|
|
57
|
+
OS_WIN2000TERMINAL = 12
|
|
58
|
+
OS_EMBEDDED = 13
|
|
59
|
+
OS_TERMINALCLIENT = 14
|
|
60
|
+
OS_TERMINALREMOTEADMIN = 15
|
|
61
|
+
OS_WIN95_GOLD = 16
|
|
62
|
+
OS_MEORGREATER = 17
|
|
63
|
+
OS_XPORGREATER = 18
|
|
64
|
+
OS_HOME = 19
|
|
65
|
+
OS_PROFESSIONAL = 20
|
|
66
|
+
OS_DATACENTER = 21
|
|
67
|
+
OS_ADVSERVER = 22
|
|
68
|
+
OS_SERVER = 23
|
|
69
|
+
OS_TERMINALSERVER = 24
|
|
70
|
+
OS_PERSONALTERMINALSERVER = 25
|
|
71
|
+
OS_FASTUSERSWITCHING = 26
|
|
72
|
+
OS_WELCOMELOGONUI = 27
|
|
73
|
+
OS_DOMAINMEMBER = 28
|
|
74
|
+
OS_ANYSERVER = 29
|
|
75
|
+
OS_WOW6432 = 30
|
|
76
|
+
OS_WEBSERVER = 31
|
|
77
|
+
OS_SMALLBUSINESSSERVER = 32
|
|
78
|
+
OS_TABLETPC = 33
|
|
79
|
+
OS_SERVERADMINUI = 34
|
|
80
|
+
OS_MEDIACENTER = 35
|
|
81
|
+
OS_APPLIANCE = 36
|
|
82
|
+
|
|
83
|
+
# --- shlwapi.dll --------------------------------------------------------------
|
|
84
|
+
|
|
84
85
|
|
|
85
86
|
# BOOL IsOS(
|
|
86
87
|
# DWORD dwOS
|
|
@@ -89,25 +90,26 @@ def IsOS(dwOS):
|
|
|
89
90
|
try:
|
|
90
91
|
_IsOS = windll.shlwapi.IsOS
|
|
91
92
|
_IsOS.argtypes = [DWORD]
|
|
92
|
-
_IsOS.restype
|
|
93
|
+
_IsOS.restype = bool
|
|
93
94
|
except AttributeError:
|
|
94
95
|
# According to MSDN, on Windows versions prior to Vista
|
|
95
96
|
# this function is exported only by ordinal number 437.
|
|
96
97
|
# http://msdn.microsoft.com/en-us/library/bb773795%28VS.85%29.aspx
|
|
97
98
|
_GetProcAddress = windll.kernel32.GetProcAddress
|
|
98
99
|
_GetProcAddress.argtypes = [HINSTANCE, DWORD]
|
|
99
|
-
_GetProcAddress.restype
|
|
100
|
+
_GetProcAddress.restype = LPVOID
|
|
100
101
|
_IsOS = windll.kernel32.GetProcAddress(windll.shlwapi._handle, 437)
|
|
101
102
|
_IsOS = WINFUNCTYPE(bool, DWORD)(_IsOS)
|
|
102
103
|
return _IsOS(dwOS)
|
|
103
104
|
|
|
105
|
+
|
|
104
106
|
# LPTSTR PathAddBackslash(
|
|
105
107
|
# LPTSTR lpszPath
|
|
106
108
|
# );
|
|
107
109
|
def PathAddBackslashA(lpszPath):
|
|
108
110
|
_PathAddBackslashA = windll.shlwapi.PathAddBackslashA
|
|
109
111
|
_PathAddBackslashA.argtypes = [LPSTR]
|
|
110
|
-
_PathAddBackslashA.restype
|
|
112
|
+
_PathAddBackslashA.restype = LPSTR
|
|
111
113
|
|
|
112
114
|
lpszPath = ctypes.create_string_buffer(lpszPath, MAX_PATH)
|
|
113
115
|
retval = _PathAddBackslashA(lpszPath)
|
|
@@ -115,10 +117,11 @@ def PathAddBackslashA(lpszPath):
|
|
|
115
117
|
raise ctypes.WinError()
|
|
116
118
|
return lpszPath.value
|
|
117
119
|
|
|
120
|
+
|
|
118
121
|
def PathAddBackslashW(lpszPath):
|
|
119
122
|
_PathAddBackslashW = windll.shlwapi.PathAddBackslashW
|
|
120
123
|
_PathAddBackslashW.argtypes = [LPWSTR]
|
|
121
|
-
_PathAddBackslashW.restype
|
|
124
|
+
_PathAddBackslashW.restype = LPWSTR
|
|
122
125
|
|
|
123
126
|
lpszPath = ctypes.create_unicode_buffer(lpszPath, MAX_PATH)
|
|
124
127
|
retval = _PathAddBackslashW(lpszPath)
|
|
@@ -126,16 +129,18 @@ def PathAddBackslashW(lpszPath):
|
|
|
126
129
|
raise ctypes.WinError()
|
|
127
130
|
return lpszPath.value
|
|
128
131
|
|
|
132
|
+
|
|
129
133
|
PathAddBackslash = GuessStringType(PathAddBackslashA, PathAddBackslashW)
|
|
130
134
|
|
|
135
|
+
|
|
131
136
|
# BOOL PathAddExtension(
|
|
132
137
|
# LPTSTR pszPath,
|
|
133
138
|
# LPCTSTR pszExtension
|
|
134
139
|
# );
|
|
135
|
-
def PathAddExtensionA(lpszPath, pszExtension
|
|
140
|
+
def PathAddExtensionA(lpszPath, pszExtension=None):
|
|
136
141
|
_PathAddExtensionA = windll.shlwapi.PathAddExtensionA
|
|
137
142
|
_PathAddExtensionA.argtypes = [LPSTR, LPSTR]
|
|
138
|
-
_PathAddExtensionA.restype
|
|
143
|
+
_PathAddExtensionA.restype = bool
|
|
139
144
|
_PathAddExtensionA.errcheck = RaiseIfZero
|
|
140
145
|
|
|
141
146
|
if not pszExtension:
|
|
@@ -144,10 +149,11 @@ def PathAddExtensionA(lpszPath, pszExtension = None):
|
|
|
144
149
|
_PathAddExtensionA(lpszPath, pszExtension)
|
|
145
150
|
return lpszPath.value
|
|
146
151
|
|
|
147
|
-
|
|
152
|
+
|
|
153
|
+
def PathAddExtensionW(lpszPath, pszExtension=None):
|
|
148
154
|
_PathAddExtensionW = windll.shlwapi.PathAddExtensionW
|
|
149
155
|
_PathAddExtensionW.argtypes = [LPWSTR, LPWSTR]
|
|
150
|
-
_PathAddExtensionW.restype
|
|
156
|
+
_PathAddExtensionW.restype = bool
|
|
151
157
|
_PathAddExtensionW.errcheck = RaiseIfZero
|
|
152
158
|
|
|
153
159
|
if not pszExtension:
|
|
@@ -156,16 +162,18 @@ def PathAddExtensionW(lpszPath, pszExtension = None):
|
|
|
156
162
|
_PathAddExtensionW(lpszPath, pszExtension)
|
|
157
163
|
return lpszPath.value
|
|
158
164
|
|
|
165
|
+
|
|
159
166
|
PathAddExtension = GuessStringType(PathAddExtensionA, PathAddExtensionW)
|
|
160
167
|
|
|
168
|
+
|
|
161
169
|
# BOOL PathAppend(
|
|
162
170
|
# LPTSTR pszPath,
|
|
163
171
|
# LPCTSTR pszMore
|
|
164
172
|
# );
|
|
165
|
-
def PathAppendA(lpszPath, pszMore
|
|
173
|
+
def PathAppendA(lpszPath, pszMore=None):
|
|
166
174
|
_PathAppendA = windll.shlwapi.PathAppendA
|
|
167
175
|
_PathAppendA.argtypes = [LPSTR, LPSTR]
|
|
168
|
-
_PathAppendA.restype
|
|
176
|
+
_PathAppendA.restype = bool
|
|
169
177
|
_PathAppendA.errcheck = RaiseIfZero
|
|
170
178
|
|
|
171
179
|
if not pszMore:
|
|
@@ -174,10 +182,11 @@ def PathAppendA(lpszPath, pszMore = None):
|
|
|
174
182
|
_PathAppendA(lpszPath, pszMore)
|
|
175
183
|
return lpszPath.value
|
|
176
184
|
|
|
177
|
-
|
|
185
|
+
|
|
186
|
+
def PathAppendW(lpszPath, pszMore=None):
|
|
178
187
|
_PathAppendW = windll.shlwapi.PathAppendW
|
|
179
188
|
_PathAppendW.argtypes = [LPWSTR, LPWSTR]
|
|
180
|
-
_PathAppendW.restype
|
|
189
|
+
_PathAppendW.restype = bool
|
|
181
190
|
_PathAppendW.errcheck = RaiseIfZero
|
|
182
191
|
|
|
183
192
|
if not pszMore:
|
|
@@ -186,8 +195,10 @@ def PathAppendW(lpszPath, pszMore = None):
|
|
|
186
195
|
_PathAppendW(lpszPath, pszMore)
|
|
187
196
|
return lpszPath.value
|
|
188
197
|
|
|
198
|
+
|
|
189
199
|
PathAppend = GuessStringType(PathAppendA, PathAppendW)
|
|
190
200
|
|
|
201
|
+
|
|
191
202
|
# LPTSTR PathCombine(
|
|
192
203
|
# LPTSTR lpszDest,
|
|
193
204
|
# LPCTSTR lpszDir,
|
|
@@ -196,7 +207,7 @@ PathAppend = GuessStringType(PathAppendA, PathAppendW)
|
|
|
196
207
|
def PathCombineA(lpszDir, lpszFile):
|
|
197
208
|
_PathCombineA = windll.shlwapi.PathCombineA
|
|
198
209
|
_PathCombineA.argtypes = [LPSTR, LPSTR, LPSTR]
|
|
199
|
-
_PathCombineA.restype
|
|
210
|
+
_PathCombineA.restype = LPSTR
|
|
200
211
|
|
|
201
212
|
lpszDest = ctypes.create_string_buffer("", max(MAX_PATH, len(lpszDir) + len(lpszFile) + 1))
|
|
202
213
|
retval = _PathCombineA(lpszDest, lpszDir, lpszFile)
|
|
@@ -204,19 +215,22 @@ def PathCombineA(lpszDir, lpszFile):
|
|
|
204
215
|
return None
|
|
205
216
|
return lpszDest.value
|
|
206
217
|
|
|
218
|
+
|
|
207
219
|
def PathCombineW(lpszDir, lpszFile):
|
|
208
220
|
_PathCombineW = windll.shlwapi.PathCombineW
|
|
209
221
|
_PathCombineW.argtypes = [LPWSTR, LPWSTR, LPWSTR]
|
|
210
|
-
_PathCombineW.restype
|
|
222
|
+
_PathCombineW.restype = LPWSTR
|
|
211
223
|
|
|
212
|
-
lpszDest = ctypes.create_unicode_buffer(
|
|
224
|
+
lpszDest = ctypes.create_unicode_buffer("", max(MAX_PATH, len(lpszDir) + len(lpszFile) + 1))
|
|
213
225
|
retval = _PathCombineW(lpszDest, lpszDir, lpszFile)
|
|
214
226
|
if retval == NULL:
|
|
215
227
|
return None
|
|
216
228
|
return lpszDest.value
|
|
217
229
|
|
|
230
|
+
|
|
218
231
|
PathCombine = GuessStringType(PathCombineA, PathCombineW)
|
|
219
232
|
|
|
233
|
+
|
|
220
234
|
# BOOL PathCanonicalize(
|
|
221
235
|
# LPTSTR lpszDst,
|
|
222
236
|
# LPCTSTR lpszSrc
|
|
@@ -224,25 +238,28 @@ PathCombine = GuessStringType(PathCombineA, PathCombineW)
|
|
|
224
238
|
def PathCanonicalizeA(lpszSrc):
|
|
225
239
|
_PathCanonicalizeA = windll.shlwapi.PathCanonicalizeA
|
|
226
240
|
_PathCanonicalizeA.argtypes = [LPSTR, LPSTR]
|
|
227
|
-
_PathCanonicalizeA.restype
|
|
241
|
+
_PathCanonicalizeA.restype = bool
|
|
228
242
|
_PathCanonicalizeA.errcheck = RaiseIfZero
|
|
229
243
|
|
|
230
244
|
lpszDst = ctypes.create_string_buffer("", MAX_PATH)
|
|
231
245
|
_PathCanonicalizeA(lpszDst, lpszSrc)
|
|
232
246
|
return lpszDst.value
|
|
233
247
|
|
|
248
|
+
|
|
234
249
|
def PathCanonicalizeW(lpszSrc):
|
|
235
250
|
_PathCanonicalizeW = windll.shlwapi.PathCanonicalizeW
|
|
236
251
|
_PathCanonicalizeW.argtypes = [LPWSTR, LPWSTR]
|
|
237
|
-
_PathCanonicalizeW.restype
|
|
252
|
+
_PathCanonicalizeW.restype = bool
|
|
238
253
|
_PathCanonicalizeW.errcheck = RaiseIfZero
|
|
239
254
|
|
|
240
|
-
lpszDst = ctypes.create_unicode_buffer(
|
|
255
|
+
lpszDst = ctypes.create_unicode_buffer("", MAX_PATH)
|
|
241
256
|
_PathCanonicalizeW(lpszDst, lpszSrc)
|
|
242
257
|
return lpszDst.value
|
|
243
258
|
|
|
259
|
+
|
|
244
260
|
PathCanonicalize = GuessStringType(PathCanonicalizeA, PathCanonicalizeW)
|
|
245
261
|
|
|
262
|
+
|
|
246
263
|
# BOOL PathRelativePathTo(
|
|
247
264
|
# _Out_ LPTSTR pszPath,
|
|
248
265
|
# _In_ LPCTSTR pszFrom,
|
|
@@ -250,10 +267,10 @@ PathCanonicalize = GuessStringType(PathCanonicalizeA, PathCanonicalizeW)
|
|
|
250
267
|
# _In_ LPCTSTR pszTo,
|
|
251
268
|
# _In_ DWORD dwAttrTo
|
|
252
269
|
# );
|
|
253
|
-
def PathRelativePathToA(pszFrom
|
|
270
|
+
def PathRelativePathToA(pszFrom=None, dwAttrFrom=FILE_ATTRIBUTE_DIRECTORY, pszTo=None, dwAttrTo=FILE_ATTRIBUTE_DIRECTORY):
|
|
254
271
|
_PathRelativePathToA = windll.shlwapi.PathRelativePathToA
|
|
255
272
|
_PathRelativePathToA.argtypes = [LPSTR, LPSTR, DWORD, LPSTR, DWORD]
|
|
256
|
-
_PathRelativePathToA.restype
|
|
273
|
+
_PathRelativePathToA.restype = bool
|
|
257
274
|
_PathRelativePathToA.errcheck = RaiseIfZero
|
|
258
275
|
|
|
259
276
|
# Make the paths absolute or the function fails.
|
|
@@ -269,7 +286,7 @@ def PathRelativePathToA(pszFrom = None, dwAttrFrom = FILE_ATTRIBUTE_DIRECTORY, p
|
|
|
269
286
|
# Argh, this function doesn't receive an output buffer size!
|
|
270
287
|
# We'll try to guess the maximum possible buffer size.
|
|
271
288
|
dwPath = max((len(pszFrom) + len(pszTo)) * 2 + 1, MAX_PATH + 1)
|
|
272
|
-
pszPath = ctypes.create_string_buffer(
|
|
289
|
+
pszPath = ctypes.create_string_buffer("", dwPath)
|
|
273
290
|
|
|
274
291
|
# Also, it doesn't set the last error value.
|
|
275
292
|
# Whoever coded it must have been drunk or tripping on acid. Or both.
|
|
@@ -280,10 +297,11 @@ def PathRelativePathToA(pszFrom = None, dwAttrFrom = FILE_ATTRIBUTE_DIRECTORY, p
|
|
|
280
297
|
_PathRelativePathToA(pszPath, pszFrom, dwAttrFrom, pszTo, dwAttrTo)
|
|
281
298
|
return pszPath.value
|
|
282
299
|
|
|
283
|
-
|
|
300
|
+
|
|
301
|
+
def PathRelativePathToW(pszFrom=None, dwAttrFrom=FILE_ATTRIBUTE_DIRECTORY, pszTo=None, dwAttrTo=FILE_ATTRIBUTE_DIRECTORY):
|
|
284
302
|
_PathRelativePathToW = windll.shlwapi.PathRelativePathToW
|
|
285
303
|
_PathRelativePathToW.argtypes = [LPWSTR, LPWSTR, DWORD, LPWSTR, DWORD]
|
|
286
|
-
_PathRelativePathToW.restype
|
|
304
|
+
_PathRelativePathToW.restype = bool
|
|
287
305
|
_PathRelativePathToW.errcheck = RaiseIfZero
|
|
288
306
|
|
|
289
307
|
# Refer to PathRelativePathToA to know why this code is so ugly.
|
|
@@ -296,95 +314,109 @@ def PathRelativePathToW(pszFrom = None, dwAttrFrom = FILE_ATTRIBUTE_DIRECTORY, p
|
|
|
296
314
|
else:
|
|
297
315
|
pszTo = GetCurrentDirectoryW()
|
|
298
316
|
dwPath = max((len(pszFrom) + len(pszTo)) * 2 + 1, MAX_PATH + 1)
|
|
299
|
-
pszPath = ctypes.create_unicode_buffer(
|
|
317
|
+
pszPath = ctypes.create_unicode_buffer("", dwPath)
|
|
300
318
|
SetLastError(ERROR_INVALID_PARAMETER)
|
|
301
319
|
_PathRelativePathToW(pszPath, pszFrom, dwAttrFrom, pszTo, dwAttrTo)
|
|
302
320
|
return pszPath.value
|
|
303
321
|
|
|
322
|
+
|
|
304
323
|
PathRelativePathTo = GuessStringType(PathRelativePathToA, PathRelativePathToW)
|
|
305
324
|
|
|
325
|
+
|
|
306
326
|
# BOOL PathFileExists(
|
|
307
327
|
# LPCTSTR pszPath
|
|
308
328
|
# );
|
|
309
329
|
def PathFileExistsA(pszPath):
|
|
310
330
|
_PathFileExistsA = windll.shlwapi.PathFileExistsA
|
|
311
331
|
_PathFileExistsA.argtypes = [LPSTR]
|
|
312
|
-
_PathFileExistsA.restype
|
|
332
|
+
_PathFileExistsA.restype = bool
|
|
313
333
|
return _PathFileExistsA(pszPath)
|
|
314
334
|
|
|
335
|
+
|
|
315
336
|
def PathFileExistsW(pszPath):
|
|
316
337
|
_PathFileExistsW = windll.shlwapi.PathFileExistsW
|
|
317
338
|
_PathFileExistsW.argtypes = [LPWSTR]
|
|
318
|
-
_PathFileExistsW.restype
|
|
339
|
+
_PathFileExistsW.restype = bool
|
|
319
340
|
return _PathFileExistsW(pszPath)
|
|
320
341
|
|
|
342
|
+
|
|
321
343
|
PathFileExists = GuessStringType(PathFileExistsA, PathFileExistsW)
|
|
322
344
|
|
|
345
|
+
|
|
323
346
|
# LPTSTR PathFindExtension(
|
|
324
347
|
# LPCTSTR pszPath
|
|
325
348
|
# );
|
|
326
349
|
def PathFindExtensionA(pszPath):
|
|
327
350
|
_PathFindExtensionA = windll.shlwapi.PathFindExtensionA
|
|
328
351
|
_PathFindExtensionA.argtypes = [LPSTR]
|
|
329
|
-
_PathFindExtensionA.restype
|
|
352
|
+
_PathFindExtensionA.restype = LPSTR
|
|
330
353
|
pszPath = ctypes.create_string_buffer(pszPath)
|
|
331
354
|
return _PathFindExtensionA(pszPath)
|
|
332
355
|
|
|
356
|
+
|
|
333
357
|
def PathFindExtensionW(pszPath):
|
|
334
358
|
_PathFindExtensionW = windll.shlwapi.PathFindExtensionW
|
|
335
359
|
_PathFindExtensionW.argtypes = [LPWSTR]
|
|
336
|
-
_PathFindExtensionW.restype
|
|
360
|
+
_PathFindExtensionW.restype = LPWSTR
|
|
337
361
|
pszPath = ctypes.create_unicode_buffer(pszPath)
|
|
338
362
|
return _PathFindExtensionW(pszPath)
|
|
339
363
|
|
|
364
|
+
|
|
340
365
|
PathFindExtension = GuessStringType(PathFindExtensionA, PathFindExtensionW)
|
|
341
366
|
|
|
367
|
+
|
|
342
368
|
# LPTSTR PathFindFileName(
|
|
343
369
|
# LPCTSTR pszPath
|
|
344
370
|
# );
|
|
345
371
|
def PathFindFileNameA(pszPath):
|
|
346
372
|
_PathFindFileNameA = windll.shlwapi.PathFindFileNameA
|
|
347
373
|
_PathFindFileNameA.argtypes = [LPSTR]
|
|
348
|
-
_PathFindFileNameA.restype
|
|
374
|
+
_PathFindFileNameA.restype = LPSTR
|
|
349
375
|
pszPath = ctypes.create_string_buffer(pszPath)
|
|
350
376
|
return _PathFindFileNameA(pszPath)
|
|
351
377
|
|
|
378
|
+
|
|
352
379
|
def PathFindFileNameW(pszPath):
|
|
353
380
|
_PathFindFileNameW = windll.shlwapi.PathFindFileNameW
|
|
354
381
|
_PathFindFileNameW.argtypes = [LPWSTR]
|
|
355
|
-
_PathFindFileNameW.restype
|
|
382
|
+
_PathFindFileNameW.restype = LPWSTR
|
|
356
383
|
pszPath = ctypes.create_unicode_buffer(pszPath)
|
|
357
384
|
return _PathFindFileNameW(pszPath)
|
|
358
385
|
|
|
386
|
+
|
|
359
387
|
PathFindFileName = GuessStringType(PathFindFileNameA, PathFindFileNameW)
|
|
360
388
|
|
|
389
|
+
|
|
361
390
|
# LPTSTR PathFindNextComponent(
|
|
362
391
|
# LPCTSTR pszPath
|
|
363
392
|
# );
|
|
364
393
|
def PathFindNextComponentA(pszPath):
|
|
365
394
|
_PathFindNextComponentA = windll.shlwapi.PathFindNextComponentA
|
|
366
395
|
_PathFindNextComponentA.argtypes = [LPSTR]
|
|
367
|
-
_PathFindNextComponentA.restype
|
|
396
|
+
_PathFindNextComponentA.restype = LPSTR
|
|
368
397
|
pszPath = ctypes.create_string_buffer(pszPath)
|
|
369
398
|
return _PathFindNextComponentA(pszPath)
|
|
370
399
|
|
|
400
|
+
|
|
371
401
|
def PathFindNextComponentW(pszPath):
|
|
372
402
|
_PathFindNextComponentW = windll.shlwapi.PathFindNextComponentW
|
|
373
403
|
_PathFindNextComponentW.argtypes = [LPWSTR]
|
|
374
|
-
_PathFindNextComponentW.restype
|
|
404
|
+
_PathFindNextComponentW.restype = LPWSTR
|
|
375
405
|
pszPath = ctypes.create_unicode_buffer(pszPath)
|
|
376
406
|
return _PathFindNextComponentW(pszPath)
|
|
377
407
|
|
|
408
|
+
|
|
378
409
|
PathFindNextComponent = GuessStringType(PathFindNextComponentA, PathFindNextComponentW)
|
|
379
410
|
|
|
411
|
+
|
|
380
412
|
# BOOL PathFindOnPath(
|
|
381
413
|
# LPTSTR pszFile,
|
|
382
414
|
# LPCTSTR *ppszOtherDirs
|
|
383
415
|
# );
|
|
384
|
-
def PathFindOnPathA(pszFile, ppszOtherDirs
|
|
416
|
+
def PathFindOnPathA(pszFile, ppszOtherDirs=None):
|
|
385
417
|
_PathFindOnPathA = windll.shlwapi.PathFindOnPathA
|
|
386
418
|
_PathFindOnPathA.argtypes = [LPSTR, LPSTR]
|
|
387
|
-
_PathFindOnPathA.restype
|
|
419
|
+
_PathFindOnPathA.restype = bool
|
|
388
420
|
|
|
389
421
|
pszFile = ctypes.create_string_buffer(pszFile, MAX_PATH)
|
|
390
422
|
if not ppszOtherDirs:
|
|
@@ -401,47 +433,53 @@ def PathFindOnPathA(pszFile, ppszOtherDirs = None):
|
|
|
401
433
|
return pszFile.value
|
|
402
434
|
return None
|
|
403
435
|
|
|
404
|
-
|
|
436
|
+
|
|
437
|
+
def PathFindOnPathW(pszFile, ppszOtherDirs=None):
|
|
405
438
|
_PathFindOnPathW = windll.shlwapi.PathFindOnPathA
|
|
406
439
|
_PathFindOnPathW.argtypes = [LPWSTR, LPWSTR]
|
|
407
|
-
_PathFindOnPathW.restype
|
|
440
|
+
_PathFindOnPathW.restype = bool
|
|
408
441
|
|
|
409
442
|
pszFile = ctypes.create_unicode_buffer(pszFile, MAX_PATH)
|
|
410
443
|
if not ppszOtherDirs:
|
|
411
444
|
ppszOtherDirs = None
|
|
412
445
|
else:
|
|
413
|
-
szArray =
|
|
446
|
+
szArray = ""
|
|
414
447
|
for pszOtherDirs in ppszOtherDirs:
|
|
415
448
|
if pszOtherDirs:
|
|
416
|
-
szArray =
|
|
417
|
-
szArray = szArray +
|
|
449
|
+
szArray = "%s%s\0" % (szArray, pszOtherDirs)
|
|
450
|
+
szArray = szArray + "\0"
|
|
418
451
|
pszOtherDirs = ctypes.create_unicode_buffer(szArray)
|
|
419
452
|
ppszOtherDirs = ctypes.pointer(pszOtherDirs)
|
|
420
453
|
if _PathFindOnPathW(pszFile, ppszOtherDirs):
|
|
421
454
|
return pszFile.value
|
|
422
455
|
return None
|
|
423
456
|
|
|
457
|
+
|
|
424
458
|
PathFindOnPath = GuessStringType(PathFindOnPathA, PathFindOnPathW)
|
|
425
459
|
|
|
460
|
+
|
|
426
461
|
# LPTSTR PathGetArgs(
|
|
427
462
|
# LPCTSTR pszPath
|
|
428
463
|
# );
|
|
429
464
|
def PathGetArgsA(pszPath):
|
|
430
465
|
_PathGetArgsA = windll.shlwapi.PathGetArgsA
|
|
431
466
|
_PathGetArgsA.argtypes = [LPSTR]
|
|
432
|
-
_PathGetArgsA.restype
|
|
467
|
+
_PathGetArgsA.restype = LPSTR
|
|
433
468
|
pszPath = ctypes.create_string_buffer(pszPath)
|
|
434
469
|
return _PathGetArgsA(pszPath)
|
|
435
470
|
|
|
471
|
+
|
|
436
472
|
def PathGetArgsW(pszPath):
|
|
437
473
|
_PathGetArgsW = windll.shlwapi.PathGetArgsW
|
|
438
474
|
_PathGetArgsW.argtypes = [LPWSTR]
|
|
439
|
-
_PathGetArgsW.restype
|
|
475
|
+
_PathGetArgsW.restype = LPWSTR
|
|
440
476
|
pszPath = ctypes.create_unicode_buffer(pszPath)
|
|
441
477
|
return _PathGetArgsW(pszPath)
|
|
442
478
|
|
|
479
|
+
|
|
443
480
|
PathGetArgs = GuessStringType(PathGetArgsA, PathGetArgsW)
|
|
444
481
|
|
|
482
|
+
|
|
445
483
|
# BOOL PathIsContentType(
|
|
446
484
|
# LPCTSTR pszPath,
|
|
447
485
|
# LPCTSTR pszContentType
|
|
@@ -449,102 +487,120 @@ PathGetArgs = GuessStringType(PathGetArgsA, PathGetArgsW)
|
|
|
449
487
|
def PathIsContentTypeA(pszPath, pszContentType):
|
|
450
488
|
_PathIsContentTypeA = windll.shlwapi.PathIsContentTypeA
|
|
451
489
|
_PathIsContentTypeA.argtypes = [LPSTR, LPSTR]
|
|
452
|
-
_PathIsContentTypeA.restype
|
|
490
|
+
_PathIsContentTypeA.restype = bool
|
|
453
491
|
return _PathIsContentTypeA(pszPath, pszContentType)
|
|
454
492
|
|
|
493
|
+
|
|
455
494
|
def PathIsContentTypeW(pszPath, pszContentType):
|
|
456
495
|
_PathIsContentTypeW = windll.shlwapi.PathIsContentTypeW
|
|
457
496
|
_PathIsContentTypeW.argtypes = [LPWSTR, LPWSTR]
|
|
458
|
-
_PathIsContentTypeW.restype
|
|
497
|
+
_PathIsContentTypeW.restype = bool
|
|
459
498
|
return _PathIsContentTypeW(pszPath, pszContentType)
|
|
460
499
|
|
|
500
|
+
|
|
461
501
|
PathIsContentType = GuessStringType(PathIsContentTypeA, PathIsContentTypeW)
|
|
462
502
|
|
|
503
|
+
|
|
463
504
|
# BOOL PathIsDirectory(
|
|
464
505
|
# LPCTSTR pszPath
|
|
465
506
|
# );
|
|
466
507
|
def PathIsDirectoryA(pszPath):
|
|
467
508
|
_PathIsDirectoryA = windll.shlwapi.PathIsDirectoryA
|
|
468
509
|
_PathIsDirectoryA.argtypes = [LPSTR]
|
|
469
|
-
_PathIsDirectoryA.restype
|
|
510
|
+
_PathIsDirectoryA.restype = bool
|
|
470
511
|
return _PathIsDirectoryA(pszPath)
|
|
471
512
|
|
|
513
|
+
|
|
472
514
|
def PathIsDirectoryW(pszPath):
|
|
473
515
|
_PathIsDirectoryW = windll.shlwapi.PathIsDirectoryW
|
|
474
516
|
_PathIsDirectoryW.argtypes = [LPWSTR]
|
|
475
|
-
_PathIsDirectoryW.restype
|
|
517
|
+
_PathIsDirectoryW.restype = bool
|
|
476
518
|
return _PathIsDirectoryW(pszPath)
|
|
477
519
|
|
|
520
|
+
|
|
478
521
|
PathIsDirectory = GuessStringType(PathIsDirectoryA, PathIsDirectoryW)
|
|
479
522
|
|
|
523
|
+
|
|
480
524
|
# BOOL PathIsDirectoryEmpty(
|
|
481
525
|
# LPCTSTR pszPath
|
|
482
526
|
# );
|
|
483
527
|
def PathIsDirectoryEmptyA(pszPath):
|
|
484
528
|
_PathIsDirectoryEmptyA = windll.shlwapi.PathIsDirectoryEmptyA
|
|
485
529
|
_PathIsDirectoryEmptyA.argtypes = [LPSTR]
|
|
486
|
-
_PathIsDirectoryEmptyA.restype
|
|
530
|
+
_PathIsDirectoryEmptyA.restype = bool
|
|
487
531
|
return _PathIsDirectoryEmptyA(pszPath)
|
|
488
532
|
|
|
533
|
+
|
|
489
534
|
def PathIsDirectoryEmptyW(pszPath):
|
|
490
535
|
_PathIsDirectoryEmptyW = windll.shlwapi.PathIsDirectoryEmptyW
|
|
491
536
|
_PathIsDirectoryEmptyW.argtypes = [LPWSTR]
|
|
492
|
-
_PathIsDirectoryEmptyW.restype
|
|
537
|
+
_PathIsDirectoryEmptyW.restype = bool
|
|
493
538
|
return _PathIsDirectoryEmptyW(pszPath)
|
|
494
539
|
|
|
540
|
+
|
|
495
541
|
PathIsDirectoryEmpty = GuessStringType(PathIsDirectoryEmptyA, PathIsDirectoryEmptyW)
|
|
496
542
|
|
|
543
|
+
|
|
497
544
|
# BOOL PathIsNetworkPath(
|
|
498
545
|
# LPCTSTR pszPath
|
|
499
546
|
# );
|
|
500
547
|
def PathIsNetworkPathA(pszPath):
|
|
501
548
|
_PathIsNetworkPathA = windll.shlwapi.PathIsNetworkPathA
|
|
502
549
|
_PathIsNetworkPathA.argtypes = [LPSTR]
|
|
503
|
-
_PathIsNetworkPathA.restype
|
|
550
|
+
_PathIsNetworkPathA.restype = bool
|
|
504
551
|
return _PathIsNetworkPathA(pszPath)
|
|
505
552
|
|
|
553
|
+
|
|
506
554
|
def PathIsNetworkPathW(pszPath):
|
|
507
555
|
_PathIsNetworkPathW = windll.shlwapi.PathIsNetworkPathW
|
|
508
556
|
_PathIsNetworkPathW.argtypes = [LPWSTR]
|
|
509
|
-
_PathIsNetworkPathW.restype
|
|
557
|
+
_PathIsNetworkPathW.restype = bool
|
|
510
558
|
return _PathIsNetworkPathW(pszPath)
|
|
511
559
|
|
|
560
|
+
|
|
512
561
|
PathIsNetworkPath = GuessStringType(PathIsNetworkPathA, PathIsNetworkPathW)
|
|
513
562
|
|
|
563
|
+
|
|
514
564
|
# BOOL PathIsRelative(
|
|
515
565
|
# LPCTSTR lpszPath
|
|
516
566
|
# );
|
|
517
567
|
def PathIsRelativeA(pszPath):
|
|
518
568
|
_PathIsRelativeA = windll.shlwapi.PathIsRelativeA
|
|
519
569
|
_PathIsRelativeA.argtypes = [LPSTR]
|
|
520
|
-
_PathIsRelativeA.restype
|
|
570
|
+
_PathIsRelativeA.restype = bool
|
|
521
571
|
return _PathIsRelativeA(pszPath)
|
|
522
572
|
|
|
573
|
+
|
|
523
574
|
def PathIsRelativeW(pszPath):
|
|
524
575
|
_PathIsRelativeW = windll.shlwapi.PathIsRelativeW
|
|
525
576
|
_PathIsRelativeW.argtypes = [LPWSTR]
|
|
526
|
-
_PathIsRelativeW.restype
|
|
577
|
+
_PathIsRelativeW.restype = bool
|
|
527
578
|
return _PathIsRelativeW(pszPath)
|
|
528
579
|
|
|
580
|
+
|
|
529
581
|
PathIsRelative = GuessStringType(PathIsRelativeA, PathIsRelativeW)
|
|
530
582
|
|
|
583
|
+
|
|
531
584
|
# BOOL PathIsRoot(
|
|
532
585
|
# LPCTSTR pPath
|
|
533
586
|
# );
|
|
534
587
|
def PathIsRootA(pszPath):
|
|
535
588
|
_PathIsRootA = windll.shlwapi.PathIsRootA
|
|
536
589
|
_PathIsRootA.argtypes = [LPSTR]
|
|
537
|
-
_PathIsRootA.restype
|
|
590
|
+
_PathIsRootA.restype = bool
|
|
538
591
|
return _PathIsRootA(pszPath)
|
|
539
592
|
|
|
593
|
+
|
|
540
594
|
def PathIsRootW(pszPath):
|
|
541
595
|
_PathIsRootW = windll.shlwapi.PathIsRootW
|
|
542
596
|
_PathIsRootW.argtypes = [LPWSTR]
|
|
543
|
-
_PathIsRootW.restype
|
|
597
|
+
_PathIsRootW.restype = bool
|
|
544
598
|
return _PathIsRootW(pszPath)
|
|
545
599
|
|
|
600
|
+
|
|
546
601
|
PathIsRoot = GuessStringType(PathIsRootA, PathIsRootW)
|
|
547
602
|
|
|
603
|
+
|
|
548
604
|
# BOOL PathIsSameRoot(
|
|
549
605
|
# LPCTSTR pszPath1,
|
|
550
606
|
# LPCTSTR pszPath2
|
|
@@ -552,63 +608,72 @@ PathIsRoot = GuessStringType(PathIsRootA, PathIsRootW)
|
|
|
552
608
|
def PathIsSameRootA(pszPath1, pszPath2):
|
|
553
609
|
_PathIsSameRootA = windll.shlwapi.PathIsSameRootA
|
|
554
610
|
_PathIsSameRootA.argtypes = [LPSTR, LPSTR]
|
|
555
|
-
_PathIsSameRootA.restype
|
|
611
|
+
_PathIsSameRootA.restype = bool
|
|
556
612
|
return _PathIsSameRootA(pszPath1, pszPath2)
|
|
557
613
|
|
|
614
|
+
|
|
558
615
|
def PathIsSameRootW(pszPath1, pszPath2):
|
|
559
616
|
_PathIsSameRootW = windll.shlwapi.PathIsSameRootW
|
|
560
617
|
_PathIsSameRootW.argtypes = [LPWSTR, LPWSTR]
|
|
561
|
-
_PathIsSameRootW.restype
|
|
618
|
+
_PathIsSameRootW.restype = bool
|
|
562
619
|
return _PathIsSameRootW(pszPath1, pszPath2)
|
|
563
620
|
|
|
621
|
+
|
|
564
622
|
PathIsSameRoot = GuessStringType(PathIsSameRootA, PathIsSameRootW)
|
|
565
623
|
|
|
624
|
+
|
|
566
625
|
# BOOL PathIsUNC(
|
|
567
626
|
# LPCTSTR pszPath
|
|
568
627
|
# );
|
|
569
628
|
def PathIsUNCA(pszPath):
|
|
570
629
|
_PathIsUNCA = windll.shlwapi.PathIsUNCA
|
|
571
630
|
_PathIsUNCA.argtypes = [LPSTR]
|
|
572
|
-
_PathIsUNCA.restype
|
|
631
|
+
_PathIsUNCA.restype = bool
|
|
573
632
|
return _PathIsUNCA(pszPath)
|
|
574
633
|
|
|
634
|
+
|
|
575
635
|
def PathIsUNCW(pszPath):
|
|
576
636
|
_PathIsUNCW = windll.shlwapi.PathIsUNCW
|
|
577
637
|
_PathIsUNCW.argtypes = [LPWSTR]
|
|
578
|
-
_PathIsUNCW.restype
|
|
638
|
+
_PathIsUNCW.restype = bool
|
|
579
639
|
return _PathIsUNCW(pszPath)
|
|
580
640
|
|
|
641
|
+
|
|
581
642
|
PathIsUNC = GuessStringType(PathIsUNCA, PathIsUNCW)
|
|
582
643
|
|
|
583
644
|
# XXX WARNING
|
|
584
645
|
# PathMakePretty turns filenames into all lowercase.
|
|
585
646
|
# I'm not sure how well that might work on Wine.
|
|
586
647
|
|
|
648
|
+
|
|
587
649
|
# BOOL PathMakePretty(
|
|
588
650
|
# LPCTSTR pszPath
|
|
589
651
|
# );
|
|
590
652
|
def PathMakePrettyA(pszPath):
|
|
591
653
|
_PathMakePrettyA = windll.shlwapi.PathMakePrettyA
|
|
592
654
|
_PathMakePrettyA.argtypes = [LPSTR]
|
|
593
|
-
_PathMakePrettyA.restype
|
|
655
|
+
_PathMakePrettyA.restype = bool
|
|
594
656
|
_PathMakePrettyA.errcheck = RaiseIfZero
|
|
595
657
|
|
|
596
658
|
pszPath = ctypes.create_string_buffer(pszPath, MAX_PATH)
|
|
597
659
|
_PathMakePrettyA(pszPath)
|
|
598
660
|
return pszPath.value
|
|
599
661
|
|
|
662
|
+
|
|
600
663
|
def PathMakePrettyW(pszPath):
|
|
601
664
|
_PathMakePrettyW = windll.shlwapi.PathMakePrettyW
|
|
602
665
|
_PathMakePrettyW.argtypes = [LPWSTR]
|
|
603
|
-
_PathMakePrettyW.restype
|
|
666
|
+
_PathMakePrettyW.restype = bool
|
|
604
667
|
_PathMakePrettyW.errcheck = RaiseIfZero
|
|
605
668
|
|
|
606
669
|
pszPath = ctypes.create_unicode_buffer(pszPath, MAX_PATH)
|
|
607
670
|
_PathMakePrettyW(pszPath)
|
|
608
671
|
return pszPath.value
|
|
609
672
|
|
|
673
|
+
|
|
610
674
|
PathMakePretty = GuessStringType(PathMakePrettyA, PathMakePrettyW)
|
|
611
675
|
|
|
676
|
+
|
|
612
677
|
# void PathRemoveArgs(
|
|
613
678
|
# LPTSTR pszPath
|
|
614
679
|
# );
|
|
@@ -620,6 +685,7 @@ def PathRemoveArgsA(pszPath):
|
|
|
620
685
|
_PathRemoveArgsA(pszPath)
|
|
621
686
|
return pszPath.value
|
|
622
687
|
|
|
688
|
+
|
|
623
689
|
def PathRemoveArgsW(pszPath):
|
|
624
690
|
_PathRemoveArgsW = windll.shlwapi.PathRemoveArgsW
|
|
625
691
|
_PathRemoveArgsW.argtypes = [LPWSTR]
|
|
@@ -628,8 +694,10 @@ def PathRemoveArgsW(pszPath):
|
|
|
628
694
|
_PathRemoveArgsW(pszPath)
|
|
629
695
|
return pszPath.value
|
|
630
696
|
|
|
697
|
+
|
|
631
698
|
PathRemoveArgs = GuessStringType(PathRemoveArgsA, PathRemoveArgsW)
|
|
632
699
|
|
|
700
|
+
|
|
633
701
|
# void PathRemoveBackslash(
|
|
634
702
|
# LPTSTR pszPath
|
|
635
703
|
# );
|
|
@@ -641,6 +709,7 @@ def PathRemoveBackslashA(pszPath):
|
|
|
641
709
|
_PathRemoveBackslashA(pszPath)
|
|
642
710
|
return pszPath.value
|
|
643
711
|
|
|
712
|
+
|
|
644
713
|
def PathRemoveBackslashW(pszPath):
|
|
645
714
|
_PathRemoveBackslashW = windll.shlwapi.PathRemoveBackslashW
|
|
646
715
|
_PathRemoveBackslashW.argtypes = [LPWSTR]
|
|
@@ -649,8 +718,10 @@ def PathRemoveBackslashW(pszPath):
|
|
|
649
718
|
_PathRemoveBackslashW(pszPath)
|
|
650
719
|
return pszPath.value
|
|
651
720
|
|
|
721
|
+
|
|
652
722
|
PathRemoveBackslash = GuessStringType(PathRemoveBackslashA, PathRemoveBackslashW)
|
|
653
723
|
|
|
724
|
+
|
|
654
725
|
# void PathRemoveExtension(
|
|
655
726
|
# LPTSTR pszPath
|
|
656
727
|
# );
|
|
@@ -662,6 +733,7 @@ def PathRemoveExtensionA(pszPath):
|
|
|
662
733
|
_PathRemoveExtensionA(pszPath)
|
|
663
734
|
return pszPath.value
|
|
664
735
|
|
|
736
|
+
|
|
665
737
|
def PathRemoveExtensionW(pszPath):
|
|
666
738
|
_PathRemoveExtensionW = windll.shlwapi.PathRemoveExtensionW
|
|
667
739
|
_PathRemoveExtensionW.argtypes = [LPWSTR]
|
|
@@ -670,8 +742,10 @@ def PathRemoveExtensionW(pszPath):
|
|
|
670
742
|
_PathRemoveExtensionW(pszPath)
|
|
671
743
|
return pszPath.value
|
|
672
744
|
|
|
745
|
+
|
|
673
746
|
PathRemoveExtension = GuessStringType(PathRemoveExtensionA, PathRemoveExtensionW)
|
|
674
747
|
|
|
748
|
+
|
|
675
749
|
# void PathRemoveFileSpec(
|
|
676
750
|
# LPTSTR pszPath
|
|
677
751
|
# );
|
|
@@ -683,6 +757,7 @@ def PathRemoveFileSpecA(pszPath):
|
|
|
683
757
|
_PathRemoveFileSpecA(pszPath)
|
|
684
758
|
return pszPath.value
|
|
685
759
|
|
|
760
|
+
|
|
686
761
|
def PathRemoveFileSpecW(pszPath):
|
|
687
762
|
_PathRemoveFileSpecW = windll.shlwapi.PathRemoveFileSpecW
|
|
688
763
|
_PathRemoveFileSpecW.argtypes = [LPWSTR]
|
|
@@ -691,8 +766,10 @@ def PathRemoveFileSpecW(pszPath):
|
|
|
691
766
|
_PathRemoveFileSpecW(pszPath)
|
|
692
767
|
return pszPath.value
|
|
693
768
|
|
|
769
|
+
|
|
694
770
|
PathRemoveFileSpec = GuessStringType(PathRemoveFileSpecA, PathRemoveFileSpecW)
|
|
695
771
|
|
|
772
|
+
|
|
696
773
|
# BOOL PathRenameExtension(
|
|
697
774
|
# LPTSTR pszPath,
|
|
698
775
|
# LPCTSTR pszExt
|
|
@@ -700,25 +777,28 @@ PathRemoveFileSpec = GuessStringType(PathRemoveFileSpecA, PathRemoveFileSpecW)
|
|
|
700
777
|
def PathRenameExtensionA(pszPath, pszExt):
|
|
701
778
|
_PathRenameExtensionA = windll.shlwapi.PathRenameExtensionA
|
|
702
779
|
_PathRenameExtensionA.argtypes = [LPSTR, LPSTR]
|
|
703
|
-
_PathRenameExtensionA.restype
|
|
780
|
+
_PathRenameExtensionA.restype = bool
|
|
704
781
|
|
|
705
782
|
pszPath = ctypes.create_string_buffer(pszPath, MAX_PATH)
|
|
706
783
|
if _PathRenameExtensionA(pszPath, pszExt):
|
|
707
784
|
return pszPath.value
|
|
708
785
|
return None
|
|
709
786
|
|
|
787
|
+
|
|
710
788
|
def PathRenameExtensionW(pszPath, pszExt):
|
|
711
789
|
_PathRenameExtensionW = windll.shlwapi.PathRenameExtensionW
|
|
712
790
|
_PathRenameExtensionW.argtypes = [LPWSTR, LPWSTR]
|
|
713
|
-
_PathRenameExtensionW.restype
|
|
791
|
+
_PathRenameExtensionW.restype = bool
|
|
714
792
|
|
|
715
793
|
pszPath = ctypes.create_unicode_buffer(pszPath, MAX_PATH)
|
|
716
794
|
if _PathRenameExtensionW(pszPath, pszExt):
|
|
717
795
|
return pszPath.value
|
|
718
796
|
return None
|
|
719
797
|
|
|
798
|
+
|
|
720
799
|
PathRenameExtension = GuessStringType(PathRenameExtensionA, PathRenameExtensionW)
|
|
721
800
|
|
|
801
|
+
|
|
722
802
|
# BOOL PathUnExpandEnvStrings(
|
|
723
803
|
# LPCTSTR pszPath,
|
|
724
804
|
# LPTSTR pszBuf,
|
|
@@ -727,7 +807,7 @@ PathRenameExtension = GuessStringType(PathRenameExtensionA, PathRenameExtensionW
|
|
|
727
807
|
def PathUnExpandEnvStringsA(pszPath):
|
|
728
808
|
_PathUnExpandEnvStringsA = windll.shlwapi.PathUnExpandEnvStringsA
|
|
729
809
|
_PathUnExpandEnvStringsA.argtypes = [LPSTR, LPSTR]
|
|
730
|
-
_PathUnExpandEnvStringsA.restype
|
|
810
|
+
_PathUnExpandEnvStringsA.restype = bool
|
|
731
811
|
_PathUnExpandEnvStringsA.errcheck = RaiseIfZero
|
|
732
812
|
|
|
733
813
|
cchBuf = MAX_PATH
|
|
@@ -735,22 +815,24 @@ def PathUnExpandEnvStringsA(pszPath):
|
|
|
735
815
|
_PathUnExpandEnvStringsA(pszPath, pszBuf, cchBuf)
|
|
736
816
|
return pszBuf.value
|
|
737
817
|
|
|
818
|
+
|
|
738
819
|
def PathUnExpandEnvStringsW(pszPath):
|
|
739
820
|
_PathUnExpandEnvStringsW = windll.shlwapi.PathUnExpandEnvStringsW
|
|
740
821
|
_PathUnExpandEnvStringsW.argtypes = [LPWSTR, LPWSTR]
|
|
741
|
-
_PathUnExpandEnvStringsW.restype
|
|
822
|
+
_PathUnExpandEnvStringsW.restype = bool
|
|
742
823
|
_PathUnExpandEnvStringsW.errcheck = RaiseIfZero
|
|
743
824
|
|
|
744
825
|
cchBuf = MAX_PATH
|
|
745
|
-
pszBuf = ctypes.create_unicode_buffer(
|
|
826
|
+
pszBuf = ctypes.create_unicode_buffer("", cchBuf)
|
|
746
827
|
_PathUnExpandEnvStringsW(pszPath, pszBuf, cchBuf)
|
|
747
828
|
return pszBuf.value
|
|
748
829
|
|
|
830
|
+
|
|
749
831
|
PathUnExpandEnvStrings = GuessStringType(PathUnExpandEnvStringsA, PathUnExpandEnvStringsW)
|
|
750
832
|
|
|
751
|
-
|
|
833
|
+
# ==============================================================================
|
|
752
834
|
# This calculates the list of exported symbols.
|
|
753
835
|
_all = set(vars().keys()).difference(_all)
|
|
754
|
-
__all__ = [_x for _x in _all if not _x.startswith(
|
|
836
|
+
__all__ = [_x for _x in _all if not _x.startswith("_")]
|
|
755
837
|
__all__.sort()
|
|
756
|
-
|
|
838
|
+
# ==============================================================================
|