2025-07-09 17:23:19 +08:00
|
|
|
import asyncio
|
|
|
|
from pathlib import Path
|
2025-07-25 11:13:36 +08:00
|
|
|
from tools.argtool import (load_config, parse_arguments, get_default_config,
|
|
|
|
merge_configs)
|
2025-07-29 18:01:15 +08:00
|
|
|
from Dt_report import generate_dt_report
|
|
|
|
from Jf_report import generate_jf_report
|
2025-07-22 16:39:17 +08:00
|
|
|
|
2025-07-09 17:23:19 +08:00
|
|
|
def main():
|
2025-07-22 16:39:17 +08:00
|
|
|
args = parse_arguments()
|
|
|
|
|
2025-07-25 11:13:36 +08:00
|
|
|
default_cfg = get_default_config()
|
|
|
|
|
|
|
|
# 读取配置文件(若存在)
|
|
|
|
file_cfg = {}
|
|
|
|
if Path(args.config_file).exists():
|
|
|
|
try:
|
|
|
|
file_cfg = load_config(args.config_file)
|
|
|
|
except Exception as e:
|
|
|
|
print(f'警告:加载配置文件失败 {e},使用默认配置')
|
|
|
|
|
|
|
|
merged = merge_configs(default_cfg, file_cfg, args)
|
|
|
|
|
|
|
|
# 补全必要目录
|
|
|
|
if not merged['json2']['shengcheng_dir']:
|
|
|
|
merged['json2']['shengcheng_dir'] = str(Path.cwd() / 'output')
|
|
|
|
|
|
|
|
Path(merged['json2']['shengcheng_dir']).mkdir(parents=True, exist_ok=True)
|
|
|
|
|
2025-07-29 18:01:15 +08:00
|
|
|
if merged['json2']['choose_template'] == 'DT':
|
|
|
|
asyncio.run(generate_dt_report(merged['json1'], merged['json2']))
|
|
|
|
elif merged['json2']['choose_template'] == 'JF':
|
|
|
|
asyncio.run(generate_jf_report(merged['json1'], merged['json2']))
|
|
|
|
else:
|
2025-07-31 18:10:56 +08:00
|
|
|
print('指定了不存在的模板,请检查配置文件')
|
2025-07-09 17:23:19 +08:00
|
|
|
print('文档生成完毕')
|
2025-07-22 16:39:17 +08:00
|
|
|
|
2025-07-09 17:23:19 +08:00
|
|
|
if __name__ == '__main__':
|
|
|
|
main()
|