[split-upload 5/6] f2fd4fa backup via proxy
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
"""第二遍:对残留的旧路径引用,按 basename 在当前 docs 反查真实落点。"""
|
||||
import os, re, json, collections
|
||||
|
||||
ROOT = "docs"
|
||||
OLD_DIRS = ["02-产品需求", "03-技术架构", "04-原型设计",
|
||||
"09-部署运维", "10-项目管理", "01-产品设计", "06-测试质量"]
|
||||
|
||||
# 当前 docs 所有文件:basename -> 完整相对路径列表
|
||||
basemap = collections.defaultdict(list)
|
||||
for root, _, fs in os.walk(ROOT):
|
||||
for f in fs:
|
||||
full = os.path.normpath(os.path.join(root, f))
|
||||
rel = os.path.relpath(full, ROOT).replace(os.sep, '/')
|
||||
basemap[f].append(rel)
|
||||
|
||||
# 扫描残留引用
|
||||
pat = re.compile(r'(?:%s)/[^\s\)\]]+' % '|'.join(OLD_DIRS))
|
||||
refs = collections.defaultdict(set) # basename -> set of old refs
|
||||
for root, _, fs in os.walk(ROOT):
|
||||
for f in fs:
|
||||
if not f.endswith('.md'):
|
||||
continue
|
||||
fp = os.path.join(root, f)
|
||||
with open(fp, encoding='utf-8') as fh:
|
||||
for line in fh:
|
||||
for m in pat.finditer(line):
|
||||
oldref = m.group(0)
|
||||
bn = oldref.split('/')[-1]
|
||||
refs[bn].add(oldref)
|
||||
|
||||
print("残留引用涉及的不同 basename 数:", len(refs))
|
||||
for bn, olds in sorted(refs.items()):
|
||||
locs = basemap.get(bn, [])
|
||||
status = "FOUND@" + "; ".join(locs) if locs else "*** NOT FOUND (死链?) ***"
|
||||
print("\n%s" % bn)
|
||||
print(" 旧引用:", "; ".join(sorted(olds)))
|
||||
print(" 现状:", status)
|
||||
Reference in New Issue
Block a user