From ee9ad10b5cc9850c3e2ed1946f70e0cef429fb48 Mon Sep 17 00:00:00 2001 From: Hunt Date: Tue, 3 Jun 2025 11:58:25 -0700 Subject: Refactor --- dots_manager/env.py | 56 ----------------------------------------------------- 1 file changed, 56 deletions(-) delete mode 100644 dots_manager/env.py (limited to 'dots_manager/env.py') diff --git a/dots_manager/env.py b/dots_manager/env.py deleted file mode 100644 index 4d89c9e..0000000 --- a/dots_manager/env.py +++ /dev/null @@ -1,56 +0,0 @@ -import os -import json -import logging -from pathlib import Path -from dataclasses import dataclass -from typing import Dict, Any -from dots_manager.config import Config -from dots_manager.shell import run_shell_command -from dots_manager.utils import merge_dicts -from dots_manager.kawaii_logger import setup_logger - - -@dataclass(frozen=True) -class Environment: - platform: str - system_name: str - context: Dict[str, Any] - logger: logging.Logger - - -def initialize_environment(args) -> Environment: - logger = setup_logger(args.verbose) - scripts = args.source / Config.script_dir - platform = run_shell_command([str(scripts / "platform.sh")], logger) - if not platform: - raise ValueError("failed to determine platform... ") - os.environ["PLATFORM"] = platform - system_name = run_shell_command([str(scripts / "system_name.sh")], logger) - if not system_name: - raise ValueError("failed to determine system name... ") - context = load_context(platform, system_name, Config.contexts, logger) - return Environment(platform, system_name, context, logger) - - -def load_context(platform, system_name, context_file, logger): - try: - logger.info(f"reading context file: {context_file} ✧*:。゚✧") - with open(context_file) as f: - contexts = json.load(f) - - global_config = contexts.get("_global", {}) - platform_defaults = contexts.get(platform, {}).get("_default", {}) - defaults = merge_dicts(global_config, platform_defaults) - system_config = contexts.get(platform, {}).get(system_name, {}) - if not system_config: - logger.warning( - f"couldn’t find system-specific config for {platform}.{system_name} (ɐ•゚́•̀ɐ)" - ) - return { - "platform": platform, - "system_name": system_name, - **merge_dicts(defaults, system_config), - } - except (FileNotFoundError, json.JSONDecodeError) as e: - logger.error(f"error loading context: {e} ⋆ฺ°☁。⋆ฺ °★ °。") - return {} -- cgit v1.2.3-70-g09d2