from pathlib import Path
import sys, os
APP_VERSION = "1.0.0"
# resource helper similar to earlier single-file
def is_frozen():
return getattr(sys, "frozen", False) and hasattr(sys, "_MEIPASS")
def resource_path(relative: str) -> Path:
if is_frozen():
base = Path(sys._MEIPASS)
return base / relative
return Path(relative).absolute()
# App dirs
LOCAL_APP_ROOT = Path(os.environ.get("LOCALAPPDATA", str(Path.home() / "AppData" / "Local"))) / "GmailHybrid"
MASTER_CHROME_DIR = LOCAL_APP_ROOT / "chrome_master"
CHROMES_DIR = LOCAL_APP_ROOT / "chromes"
PROFILES_DIR = LOCAL_APP_ROOT / "profiles"
TOKENS_DIR = Path("emails")
def ensure_master_extracted(log_fn=print):
src = resource_path("chrome_master")
if not src.exists():
alt = Path(__file__).parent.parent / "chrome_master"
if alt.exists():
src = alt
else:
log_fn("[MASTER] chrome_master not found.")
return False
try:
MASTER_CHROME_DIR.mkdir(parents=True, exist_ok=True)
# if you want to actually copy master, keep previous logic here
return True
except Exception as e:
log_fn(f"[MASTER] extract failed: {e}")
return False
def ensure_tokens_dir():
TOKENS_DIR.mkdir(exist_ok=True)