# config.py import os, sys def get_base_dir(): """ 실행 환경에 따라 base_dir을 설정하는 메서드. cx_Freeze로 패키징된 경우 실행 파일의 경로, 일반 Python 환경일 경우 __file__을 기준으로 설정. """ if getattr(sys, 'frozen', False): # 패키징된 경우 base_dir = os.path.dirname(sys.executable) internal_dir = os.path.join(base_dir, '_internal') # _internal 디렉토리 포함 if os.path.exists(internal_dir): # _internal 디렉토리가 존재하면 base_dir로 설정 return internal_dir return base_dir else: # 일반 Python 실행 환경에서는 현재 파일의 디렉토리 반환 return os.path.dirname(os.path.abspath(__file__)) # BASE_PATH = os.path.dirname(os.path.abspath(__file__)) BASE_PATH = get_base_dir() WHALE_EXE_PATH = os.path.join(BASE_PATH, "src", "browsers", "whale", "whale.exe") USER_DATA_DIR = os.path.join(BASE_PATH, "src", "browsers", "whale", "user_data") CACHE_DIR = os.path.join(BASE_PATH, "src", "browsers", "whale", "cache") EXTENSION_PATH = os.path.join(BASE_PATH, "src", "browsers", "whale", "extensions", "gadfmnjdnhkncfcibhfleoojcdimdcbd", "1.1.11_0") CHROMEDRIVER_PATH = os.path.join(BASE_PATH, "src", "browsers", "chromedriver_128.0.6613.137.exe") EMBED_SCALE_FACTOR = 1.245 # 임베딩된 브라우저의 크기 배율