scbank-sync/main.py

54 lines
1.8 KiB
Python

import sys
from scbank_collector import SCBankCollector
from scbank_processor import SCBankProcessor
def main():
while True:
print("\n=== 四川银行权益商城自动化工具 ===")
print("1. 启动采集 (Collector) -> 浏览器抓取")
print("2. 执行同步 (Processor) -> 内部系统上传")
print("3. 退出")
choice = input("请输入选项 [1-3]: ").strip()
if choice == "1":
print("\n[系统] 正在启动采集器...")
collector = SCBankCollector()
collector.run()
elif choice == "2":
print("\n[系统] 正在启动处理器...")
processor = SCBankProcessor()
processor.run()
elif choice == "3":
print("\n[系统] 退出程序。")
sys.exit(0)
else:
print("[错误] 无效选项,请重新输入。")
# 暂停一下,避免刷屏太快
# input("\n按回车键继续...")
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
print("\n[系统] 用户中断,程序已退出。")
sys.exit(0)
except Exception as e:
# 直接把错误写到当前目录的 error.log 文件
with open("error.log", "w", encoding="utf-8") as f:
import traceback
f.write(f"Error: {str(e)}\n")
f.write(traceback.format_exc())
# 尝试打印
print(f"\n[致命错误] {e}")
print("错误日志已保存至 error.log")
# 死循环等待用户输入,防止窗口关闭
while True:
try:
input("程序发生错误,请查看 error.log。按回车键尝试退出...")
except:
break
sys.exit(1)