fix: handle missing template files gracefully at startup
This commit is contained in:
@@ -41,10 +41,16 @@ def _load_phase13_template_asset(
|
||||
template_category: str,
|
||||
industry_category: str,
|
||||
description: str,
|
||||
) -> dict[str, Any]:
|
||||
) -> dict[str, Any] | None:
|
||||
asset_dir = TEMPLATE_LIBRARY_ROOT / folder_name
|
||||
markdown = (asset_dir / f"{template_code}.md").read_text(encoding="utf-8-sig")
|
||||
variables_data = json.loads((asset_dir / f"{template_code}-variables.json").read_text(encoding="utf-8-sig"))
|
||||
md_file = asset_dir / f"{template_code}.md"
|
||||
if not md_file.is_file():
|
||||
return None
|
||||
json_file = asset_dir / f"{template_code}-variables.json"
|
||||
if not json_file.is_file():
|
||||
return None
|
||||
markdown = md_file.read_text(encoding="utf-8-sig")
|
||||
variables_data = json.loads(json_file.read_text(encoding="utf-8-sig"))
|
||||
required_variables = variables_data.get("required_variables", [])
|
||||
optional_variables = variables_data.get("optional_variables", [])
|
||||
variables = [
|
||||
@@ -688,6 +694,9 @@ DEFAULT_TEMPLATES: list[dict[str, Any]] = [
|
||||
),
|
||||
]
|
||||
|
||||
# Filter out templates whose source files are missing (e.g. in Docker builds without project-docs)
|
||||
DEFAULT_TEMPLATES: list[dict[str, Any]] = [t for t in DEFAULT_TEMPLATES if t is not None]
|
||||
|
||||
|
||||
class TemplateService:
|
||||
def __init__(self, db: Session):
|
||||
|
||||
Reference in New Issue
Block a user