You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

57 lines
3.0 KiB

# -*- coding: utf-8 -*-
# 票 04 / t12 验收:文档仓目录树 ↔ mapping-table §6 基线 逐目录 .bru 数对照
import os, sys, io
sys.stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8')
DOCS = r'E:\code\crm-api-docs'
BASELINE = {
'A0 登录界面': 5,
'A2 线索管理/我的关注': 10, 'A2 线索管理/我的线索': 14, 'A2 线索管理/线索公海': 12,
'A2 线索管理/线索管理': 15, 'A2 线索管理/线索设置': 5,
'A3 商机管理/商机公海': 1, 'A3 商机管理/商机公海/看板列表': 2,
'A3 商机管理/商机管理': 1, 'A3 商机管理/商机管理/看板列表': 2,
'A3 商机管理/商机详情/主体': 9, 'A3 商机管理/商机详情/勘察': 3,
'A3 商机管理/商机详情/团队': 4, 'A3 商机管理/商机详情/客户': 4,
'A3 商机管理/商机详情/工作计划': 4, 'A3 商机管理/商机详情/方案卡': 5,
'A3 商机管理/商机详情/日志': 1, 'A3 商机管理/商机详情/跟进': 3,
'A3 商机管理/商机详情/附件': 3, 'A3 商机管理/新建商机': 2,
'A3 商机管理/状态流转': 11, 'A3 商机管理/销售机会': 1,
'A3 商机管理/销售机会/看板列表': 2, 'A3 商机管理/销售机会/自定义视图': 4,
'A7 后台管理/商机规则/公海规则': 8, 'A7 后台管理/商机规则/方案卡模板': 9,
'A7 后台管理/商机规则/阶段模板': 8, 'A7 后台管理/数据字典-分组': 5,
'A7 后台管理/数据字典-字典项': 7, 'A7 后台管理/权限点管理': 4,
'A7 后台管理/权限管理/角色管理': 6, 'A7 后台管理/用户管理': 4,
'A7 后台管理/线索规则': 5, 'A7 后台管理/运维': 2, 'A7 后台管理/部门管理': 3,
'公共依赖/文件': 9, '公共依赖/行政区划': 2,
'调试(验证专用)': 1,
}
EMPTY = ['A1 销售工作台(首页)', 'A1X 工作计划', 'A4 客户管理', 'A5 项目管理', 'A6 数据看板']
actual = {}
for dp, dns, fns in os.walk(DOCS):
dns[:] = [d for d in dns if d.lower() != 'environments' and d != '.git']
rel = os.path.relpath(dp, DOCS).replace('\\', '/')
if rel == '.':
continue
n = sum(1 for fn in fns if fn.endswith('.bru') and fn not in ('folder.bru', 'collection.bru'))
if n or rel in BASELINE or rel in EMPTY:
actual[rel] = n
ok = True
for k in sorted(set(BASELINE) | set(actual)):
b, a = BASELINE.get(k), actual.get(k, 0)
flag = 'OK ' if b == a else 'DIFF'
if b != a:
ok = False
print(f'{flag} {k}: baseline={b} actual={a}')
for d in EMPTY:
p = os.path.join(DOCS, d, 'folder.bru')
r = os.path.join(DOCS, d, 'README.md')
print(f'{"OK " if os.path.isfile(p) and os.path.isfile(r) else "DIFF"} 空分区 {d}: folder.bru={os.path.isfile(p)} README={os.path.isfile(r)}')
if not (os.path.isfile(p) and os.path.isfile(r)):
ok = False
total = sum(actual.values())
print(f'total .bru (接口文件) = {total} (期望 196 = 191 + 5 LeadPool 副本)')
if total != 196:
ok = False
print('RESULT:', 'ALL MATCH' if ok else 'HAS DIFF')