mirror of
https://github.com/kbenestad/mdcms.git
synced 2026-06-18 15:24:32 +00:00
fix: coerce category codes to str to handle YAML-parsed integers
YAML parses bare numeric codes (e.g. `code: 01`) as int, causing TypeError in CATEGORY_CODE_RE.match() which expects str/bytes. https://claude.ai/code/session_01N1msEmfHK7UWa6mNS8LPGu
This commit is contained in:
parent
22f95cd633
commit
d595f38dfd
1 changed files with 3 additions and 2 deletions
5
mdcms.py
5
mdcms.py
|
|
@ -108,9 +108,10 @@ def read_config(site_path: Path) -> dict:
|
|||
def get_category_info(cfg: dict) -> dict:
|
||||
use = str(cfg.get("categories-use", "no")).lower() in ("yes", "true")
|
||||
default_cat = cfg.get("default-category") or {}
|
||||
default_code = default_cat.get("code") if isinstance(default_cat, dict) else None
|
||||
raw_default = default_cat.get("code") if isinstance(default_cat, dict) else None
|
||||
default_code = str(raw_default) if raw_default is not None else None
|
||||
cats = cfg.get("categories") or []
|
||||
codes = [c["code"] for c in cats if isinstance(c, dict) and "code" in c]
|
||||
codes = [str(c["code"]) for c in cats if isinstance(c, dict) and "code" in c]
|
||||
return {"use": use, "default_code": default_code, "codes": codes}
|
||||
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue