Report_Generate_Server/Generate_Report.py

38 lines
1.2 KiB
Python
Raw Normal View History

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)
from Dt_report import generate_dt_report
from Jf_report import generate_jf_report
2025-07-09 17:23:19 +08:00
def main():
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)
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:
print('指定了不存在的,请检查配置文件')
2025-07-09 17:23:19 +08:00
print('文档生成完毕')
2025-07-09 17:23:19 +08:00
if __name__ == '__main__':
main()