def breakpoint_path_match(vs_path, local_path):
vs_path_norm = path.normcase(vs_path)
local_path_norm = path.normcase(local_path)
if local_path_to_vs_path.get(local_path_norm) == vs_path_norm:
return True
# Walk the local filesystem from local_path up, matching agains win_path component by component,
# and stop when we no longer see an __init__.py. This should give a reasonably close approximation
# of matching the package name.
while True:
local_path, local_name = path.split(local_path)
vs_path, vs_name = ntpath.split(vs_path)
# Match the last component in the path. If one or both components are unavailable, then
# we have reached the root on the corresponding path without successfully matching.
if not local_name or not vs_name or path.normcase(local_name) != path.normcase(vs_name):
return False
# If we have an __init__.py, this module was inside the package, and we still need to match
# thatpackage, so walk up one level and keep matching. Otherwise, we've walked as far as we
# needed to, and matched all names on our way, so this is a match.
if not path.exists(path.join(local_path, '__init__.py')):
break
local_path_to_vs_path[local_path_norm] = vs_path_norm
return True
visualstudio_py_debugger.py 文件源码
python
阅读 28
收藏 0
点赞 0
评论 0
评论列表
文章目录