25 lines
1.0 KiB
Python
25 lines
1.0 KiB
Python
from __future__ import annotations
|
|
|
|
PREVIEW_MODE_TILE = "tile"
|
|
PREVIEW_MODE_TECHNICAL = "technical"
|
|
PREVIEW_MODE_LEDS = "leds"
|
|
PREVIEW_MODES = (PREVIEW_MODE_TILE, PREVIEW_MODE_TECHNICAL, PREVIEW_MODE_LEDS)
|
|
|
|
|
|
def normalize_preview_mode(mode: str | None) -> str:
|
|
normalized = str(mode or PREVIEW_MODE_TILE).strip().lower()
|
|
return normalized if normalized in PREVIEW_MODES else PREVIEW_MODE_TILE
|
|
|
|
|
|
def preview_mode_flags(mode: str) -> dict[str, bool]:
|
|
preview_mode = normalize_preview_mode(mode)
|
|
return {
|
|
"show_fill": preview_mode in {PREVIEW_MODE_TILE, PREVIEW_MODE_TECHNICAL},
|
|
"show_labels": preview_mode in {PREVIEW_MODE_TILE, PREVIEW_MODE_TECHNICAL},
|
|
"show_leds": preview_mode in {PREVIEW_MODE_TECHNICAL, PREVIEW_MODE_LEDS},
|
|
"show_guides": preview_mode == PREVIEW_MODE_TECHNICAL,
|
|
"show_direction": preview_mode == PREVIEW_MODE_TECHNICAL,
|
|
"show_overlay_title": preview_mode == PREVIEW_MODE_TECHNICAL,
|
|
"show_technical_meta": preview_mode == PREVIEW_MODE_TECHNICAL,
|
|
}
|