feat: v1.5.0 - F009+F010 MAP→List使用BallList模板,List→MAP使用BallMAP模板
This commit is contained in:
@@ -33,23 +33,44 @@ def wait_for_exit():
|
|||||||
|
|
||||||
# ── Path helpers ────────────────────────────────────────────────────
|
# ── Path helpers ────────────────────────────────────────────────────
|
||||||
|
|
||||||
def _find_template_path() -> str | None:
|
def _find_balllist_template_path() -> str | None:
|
||||||
"""查找根目录下的 PinMAP-Template.xlsx。
|
"""查找根目录下的 BallList-Template.xlsx。
|
||||||
|
|
||||||
|
MAP→List 输出使用 BallList 模板(而非旧 PinMAP 模板)。
|
||||||
搜索顺序:
|
搜索顺序:
|
||||||
1. 与 run.bat 同级的根目录
|
1. 与 run.bat 同级的根目录
|
||||||
2. 当前工作目录
|
2. 当前工作目录
|
||||||
"""
|
"""
|
||||||
# 从 Code/src 回退到根目录
|
|
||||||
src_dir = os.path.dirname(os.path.abspath(__file__))
|
src_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
root_dir = os.path.dirname(os.path.dirname(src_dir)) # pinmap-to-pinlist/
|
root_dir = os.path.dirname(os.path.dirname(src_dir)) # pinmap-to-pinlist/
|
||||||
template_path = os.path.join(root_dir, "PinMAP-Template.xlsx")
|
template_path = os.path.join(root_dir, "BallList-Template.xlsx")
|
||||||
|
|
||||||
if os.path.exists(template_path):
|
if os.path.exists(template_path):
|
||||||
return template_path
|
return template_path
|
||||||
|
|
||||||
# 回退到当前工作目录
|
cwd_template = os.path.join(os.getcwd(), "BallList-Template.xlsx")
|
||||||
cwd_template = os.path.join(os.getcwd(), "PinMAP-Template.xlsx")
|
if os.path.exists(cwd_template):
|
||||||
|
return cwd_template
|
||||||
|
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def _find_ballmap_template_path() -> str | None:
|
||||||
|
"""查找根目录下的 BallMAP-Template.xlsx。
|
||||||
|
|
||||||
|
List→MAP 输出使用 BallMAP 模板(而非旧 PinMAP 模板)。
|
||||||
|
搜索顺序:
|
||||||
|
1. 与 run.bat 同级的根目录
|
||||||
|
2. 当前工作目录
|
||||||
|
"""
|
||||||
|
src_dir = os.path.dirname(os.path.abspath(__file__))
|
||||||
|
root_dir = os.path.dirname(os.path.dirname(src_dir)) # pinmap-to-pinlist/
|
||||||
|
template_path = os.path.join(root_dir, "BallMAP-Template.xlsx")
|
||||||
|
|
||||||
|
if os.path.exists(template_path):
|
||||||
|
return template_path
|
||||||
|
|
||||||
|
cwd_template = os.path.join(os.getcwd(), "BallMAP-Template.xlsx")
|
||||||
if os.path.exists(cwd_template):
|
if os.path.exists(cwd_template):
|
||||||
return cwd_template
|
return cwd_template
|
||||||
|
|
||||||
@@ -150,17 +171,17 @@ def run_map_to_list(filepath: str):
|
|||||||
data[f'A{row}'] = pin_name
|
data[f'A{row}'] = pin_name
|
||||||
data[f'B{row}'] = str(pin_num)
|
data[f'B{row}'] = str(pin_num)
|
||||||
|
|
||||||
# 尝试读取模板样式(F007)
|
# 尝试读取 BallList 模板样式(F009)
|
||||||
template_path = _find_template_path()
|
template_path = _find_balllist_template_path()
|
||||||
template_style = None
|
template_style = None
|
||||||
if template_path:
|
if template_path:
|
||||||
template_style = read_template_styles(template_path)
|
template_style = read_template_styles(template_path)
|
||||||
if template_style:
|
if template_style:
|
||||||
print(f"[INFO] 已加载模板样式: {template_path}")
|
print(f"[INFO] 已加载 BallList 模板样式: {template_path}")
|
||||||
else:
|
else:
|
||||||
print("[WARN] 模板文件存在但解析失败,使用默认样式")
|
print("[WARN] BallList 模板文件存在但解析失败,使用默认样式")
|
||||||
else:
|
else:
|
||||||
print("[INFO] 未检测到模板文件,使用默认样式")
|
print("[INFO] 未检测到 BallList-Template.xlsx,使用默认样式")
|
||||||
|
|
||||||
if template_style is not None:
|
if template_style is not None:
|
||||||
write_xlsx_with_style(data, output_path, template_style)
|
write_xlsx_with_style(data, output_path, template_style)
|
||||||
@@ -260,17 +281,17 @@ def run_list_to_map(filepath: str):
|
|||||||
print(f"[INFO] 正在生成 PinMAP 并写入: {output_path}")
|
print(f"[INFO] 正在生成 PinMAP 并写入: {output_path}")
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# 尝试读取模板样式(F007 — 从根目录读取而非输入文件路径)
|
# 尝试读取 BallMAP 模板样式(F010)
|
||||||
template_path = _find_template_path()
|
template_path = _find_ballmap_template_path()
|
||||||
template_style = None
|
template_style = None
|
||||||
if template_path:
|
if template_path:
|
||||||
template_style = read_template_styles(template_path)
|
template_style = read_template_styles(template_path)
|
||||||
if template_style:
|
if template_style:
|
||||||
print(f"[INFO] 已加载模板样式: {template_path}")
|
print(f"[INFO] 已加载 BallMAP 模板样式: {template_path}")
|
||||||
else:
|
else:
|
||||||
print("[WARN] 模板文件存在但解析失败,使用默认样式")
|
print("[WARN] BallMAP 模板文件存在但解析失败,使用默认样式")
|
||||||
else:
|
else:
|
||||||
print("[INFO] 未检测到模板文件,使用默认样式")
|
print("[INFO] 未检测到 BallMAP-Template.xlsx,使用默认样式")
|
||||||
|
|
||||||
generate_pinmap(
|
generate_pinmap(
|
||||||
entries=entries,
|
entries=entries,
|
||||||
|
|||||||
Reference in New Issue
Block a user