From cfa19027977f61cecbf366b844f1ade37137e553 Mon Sep 17 00:00:00 2001 From: Zacharias-Brohn Date: Thu, 19 Feb 2026 02:35:02 +0100 Subject: [PATCH] test fix --- cli/src/zshell/subcommands/scheme.py | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/cli/src/zshell/subcommands/scheme.py b/cli/src/zshell/subcommands/scheme.py index 9f7d7dd..7b048e9 100644 --- a/cli/src/zshell/subcommands/scheme.py +++ b/cli/src/zshell/subcommands/scheme.py @@ -2,6 +2,7 @@ from typing import Annotated, Optional import typer import json +from importlib import resources from pathlib import Path from PIL import Image from materialyoucolor.quantize import QuantizeCelebi @@ -65,7 +66,7 @@ def generate( f"Invalid hex color '{s}' (expected 6 hex digits, optionally prefixed with '#').") return f"#{s.upper()}" - def parse_preset_file(file_path: Path) -> dict: + def parse_preset_file(file_path) -> dict: """ Parse a preset scheme file with lines like: primary_paletteKeyColor 6a73ac @@ -168,19 +169,12 @@ def generate( try: if preset: # try local presets directory: presets//.txt or presets/-.txt - base1 = Path("zshell") / "assets" / "schemes" / \ - preset / flavour / f"{mode}.txt" - if base1.exists(): - preset_path = base1 - else: - raise FileNotFoundError( - f"Preset file not found. Looked for: {base1.resolve()}. " - "You can also pass --preset-file directly." - ) + base = resources.files("zshell.assets.schemes") + preset_path = base / preset / flavour / f"{mode}.txt" mapping = parse_preset_file(preset_path) generate_color_scheme_from_preset( - mapping, output, preset or preset_path.stem, flavour) + mapping, output, preset, flavour) typer.echo(f"Wrote preset-based scheme to {output}") raise typer.Exit()