41 lines
1.2 KiB
Python
41 lines
1.2 KiB
Python
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 해제
|