refactor: 统一导出文件命名规则,使用文件前缀变量
提取file_prefix变量统一管理导出文件的命名前缀, 确保所有导出的Excel和DXF文件使用一致的命名规则, 提升代码可维护性和文件命名的一致性。
This commit is contained in:
23
gui.py
23
gui.py
@@ -212,11 +212,12 @@ def index():
|
||||
if not state["results"] or not refs["export_row"]:
|
||||
return
|
||||
|
||||
# 获取带 _result 后缀的文件名
|
||||
# 获取文件名基础前缀
|
||||
file_prefix = "wind_farm"
|
||||
download_name = "wind_farm_design_result.xlsx"
|
||||
if state.get("original_filename"):
|
||||
name_no_ext = os.path.splitext(state["original_filename"])[0]
|
||||
download_name = f"{name_no_ext}_result.xlsx"
|
||||
file_prefix = os.path.splitext(state["original_filename"])[0]
|
||||
download_name = f"{file_prefix}_result.xlsx"
|
||||
|
||||
# 寻找推荐方案:优先 Scenario 1 的最低成本,否则取全局最低成本
|
||||
scenario1_results = [r for r in state["results"] if "Scenario 1" in r["name"]]
|
||||
@@ -241,7 +242,7 @@ def index():
|
||||
if c.isalnum() or c in (" ", "-", "_")
|
||||
]
|
||||
).strip()
|
||||
dxf_name = f"design_best_{safe_name}.dxf"
|
||||
dxf_name = f"{file_prefix}_best_{safe_name}.dxf"
|
||||
|
||||
export_to_dxf(
|
||||
best_res["turbines"],
|
||||
@@ -278,7 +279,7 @@ def index():
|
||||
if c.isalnum() or c in (" ", "-", "_")
|
||||
]
|
||||
).strip()
|
||||
dxf_name = f"design_{safe_name}.dxf"
|
||||
dxf_name = f"{file_prefix}_{safe_name}.dxf"
|
||||
|
||||
export_to_dxf(
|
||||
selected_res["turbines"],
|
||||
@@ -308,21 +309,17 @@ def index():
|
||||
import zipfile
|
||||
|
||||
# 1. 确定文件名
|
||||
zip_filename = "all_designs_result.zip"
|
||||
excel_result_name = "wind_farm_design_result.xlsx"
|
||||
zip_filename = f"{file_prefix}_all_results.zip"
|
||||
excel_result_name = f"{file_prefix}_summary.xlsx"
|
||||
|
||||
# 推断 main.py 生成的原始 Excel 路径
|
||||
generated_excel_path = "wind_farm_design.xlsx"
|
||||
|
||||
if state.get("original_filename"):
|
||||
name_no_ext = os.path.splitext(state["original_filename"])[0]
|
||||
zip_filename = f"{name_no_ext}_result.zip"
|
||||
excel_result_name = f"{name_no_ext}_result.xlsx"
|
||||
|
||||
if state.get("excel_path"):
|
||||
dir_name = os.path.dirname(state["excel_path"])
|
||||
generated_excel_path = os.path.join(
|
||||
dir_name, f"{name_no_ext}_design.xlsx"
|
||||
dir_name, f"{file_prefix}_design.xlsx"
|
||||
)
|
||||
|
||||
try:
|
||||
@@ -353,7 +350,7 @@ def index():
|
||||
if c.isalnum() or c in (" ", "-", "_")
|
||||
]
|
||||
).strip()
|
||||
dxf_name = f"design_{safe_name}.dxf"
|
||||
dxf_name = f"{file_prefix}_{safe_name}.dxf"
|
||||
export_to_dxf(
|
||||
res["turbines"],
|
||||
state["substation"],
|
||||
|
||||
Reference in New Issue
Block a user