import sys import logging from PySide6.QtWidgets import QApplication from src.gui import TaobaoScraperApp from src.databaseManager import DatabaseManager from src.loggerModule import Logger from src.user_info_dialog import UserInfoDialog import ctypes # COM 초기화 (멀티스레드 모드) def initialize_com(): COINIT_MULTITHREADED = 0x0 ctypes.windll.ole32.CoInitializeEx(None, COINIT_MULTITHREADED) # COM 해제 def uninitialize_com(): ctypes.windll.ole32.CoUninitialize() if __name__ == "__main__": initialize_com() # COM 초기화 app = QApplication(sys.argv) logger = Logger(log_file="Scrapper2.log", logger_name="Scrapper_Logger", level=logging.INFO) db_manager = DatabaseManager(logger) # 데이터베이스 매니저 인스턴스 생성 window = TaobaoScraperApp(logger, db_manager) # 로그인 다이얼로그 실행 login_dialog = UserInfoDialog() if login_dialog.exec(): # 로그인 성공 시 window = TaobaoScraperApp(logger, db_manager) window.show() sys.exit(app.exec()) # 메인 UI 실행 else: # 로그인 실패 시 sys.exit(0) # 프로그램 종료 uninitialize_com() # COM 해제