exe5
This commit is contained in:
1 parent
c34a7f6054
commit
4d3f3cd6fd
2 files changed
+30
-18
No files matched your search
@@ -40,8 +40,8 @@ def build_exe():
|
|||||||
'--hidden-import=download_batch_data.main_download_batch_data_and_trans',
|
'--hidden-import=download_batch_data.main_download_batch_data_and_trans',
|
||||||
|
|
||||||
# 收集所有子模块,确保 PyInstaller 能找到所有模块
|
# 收集所有子模块,确保 PyInstaller 能找到所有模块
|
||||||
'--collect-submodules=auto_sliceing_operate',
|
'--collect-all=auto_sliceing_operate', # 使用 collect-all 确保包含所有子模块和依赖
|
||||||
'--collect-submodules=download_batch_data',
|
'--collect-all=download_batch_data', # 使用 collect-all 确保包含所有子模块和依赖
|
||||||
'--hidden-import=auto_sliceing_operate.utils',
|
'--hidden-import=auto_sliceing_operate.utils',
|
||||||
'--hidden-import=auto_sliceing_operate.utils.exe_operate',
|
'--hidden-import=auto_sliceing_operate.utils.exe_operate',
|
||||||
'--hidden-import=auto_sliceing_operate.utils.click_soft_button',
|
'--hidden-import=auto_sliceing_operate.utils.click_soft_button',
|
||||||
|
|||||||
+28
-16
@@ -1,32 +1,39 @@
|
|||||||
import sys
|
import sys
|
||||||
import os
|
import os
|
||||||
from auto_sliceing_operate.main_begin_sliceing import main as main_begin_sliceing_main
|
import importlib
|
||||||
from download_batch_data.main_download_batch_data_and_trans import main as main_download_batch_data_and_trans_main
|
|
||||||
from auto_sliceing_operate.main_download_zip import main as main_download_zip_main
|
|
||||||
from utils.config import cfg, get_work_dir
|
from utils.config import cfg, get_work_dir
|
||||||
|
|
||||||
|
def get_command_handler(command):
|
||||||
|
"""动态导入并返回命令处理函数"""
|
||||||
|
if command == 'batch_download':
|
||||||
|
module = importlib.import_module('download_batch_data.main_download_batch_data_and_trans')
|
||||||
|
return module.main
|
||||||
|
elif command == 'begin_sliceing':
|
||||||
|
module = importlib.import_module('auto_sliceing_operate.main_begin_sliceing')
|
||||||
|
return module.main
|
||||||
|
elif command == 'download_slice':
|
||||||
|
module = importlib.import_module('auto_sliceing_operate.main_download_zip')
|
||||||
|
return module.main
|
||||||
|
else:
|
||||||
|
return None
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
# 根据参数决定执行哪个模块
|
# 可用命令列表
|
||||||
# 命令映射表:命令名 -> 处理函数
|
available_commands = ['batch_download', 'begin_sliceing', 'download_slice']
|
||||||
command_handlers = {
|
|
||||||
'batch_download': main_download_batch_data_and_trans_main,
|
|
||||||
'begin_sliceing': main_begin_sliceing_main,
|
|
||||||
'download_slice': main_download_zip_main,
|
|
||||||
}
|
|
||||||
|
|
||||||
# 检查参数数量
|
# 检查参数数量
|
||||||
if len(sys.argv) < 2 and sys.argv[1] != 'download_slice':
|
if len(sys.argv) < 2:
|
||||||
print('Usage: python main.py <command> [work_dir]')
|
print('Usage: python main.py <command> [work_dir]')
|
||||||
print('可用命令:', ' | '.join(command_handlers.keys()))
|
print('可用命令:', ' | '.join(available_commands))
|
||||||
print('\n注意: work_dir 参数可选,如果未提供将从配置文件读取默认值')
|
print('\n注意: work_dir 参数可选,如果未提供将从配置文件读取默认值')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
command = sys.argv[1]
|
command = sys.argv[1]
|
||||||
|
|
||||||
# 检查命令是否存在
|
# 检查命令是否存在
|
||||||
if command not in command_handlers:
|
if command not in available_commands:
|
||||||
print(f'错误: 未知命令 "{command}"')
|
print(f'错误: 未知命令 "{command}"')
|
||||||
print('可用命令:', ' | '.join(command_handlers.keys()))
|
print('可用命令:', ' | '.join(available_commands))
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
# 获取工作目录:优先使用命令行参数,其次使用配置文件,最后使用 None
|
# 获取工作目录:优先使用命令行参数,其次使用配置文件,最后使用 None
|
||||||
@@ -41,5 +48,10 @@ if __name__ == '__main__':
|
|||||||
print(f' - Redis Host: {cfg("redis.host", "未配置")}')
|
print(f' - Redis Host: {cfg("redis.host", "未配置")}')
|
||||||
print(f' - 工作目录: {work_dir if work_dir else "未指定(将使用默认值)"}')
|
print(f' - 工作目录: {work_dir if work_dir else "未指定(将使用默认值)"}')
|
||||||
|
|
||||||
# 执行对应的处理函数
|
# 动态导入并执行对应的处理函数
|
||||||
command_handlers[command](work_dir=work_dir)
|
handler = get_command_handler(command)
|
||||||
|
if handler is None:
|
||||||
|
print(f'错误: 无法加载命令 "{command}" 的处理模块')
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
handler(work_dir=work_dir)
|
||||||
Reference in new issue
Block a user