diff options
-rw-r--r-- | ssg.py | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -1,4 +1,4 @@ -# Copyright (C) 2023-2024 Tomasz Kramkowski <tomasz@kramkow.ski> +# Copyright (C) 2023-2025 Tomasz Kramkowski <tomasz@kramkow.ski> # SPDX-License-Identifier: MIT """A basic static site generator""" @@ -71,9 +71,12 @@ class Generator: def parse(source: str | Path) -> dict[str, Any]: - with open(source) as f: - toml, content = f.read().split("\n\n", maxsplit=1) - vars = tomllib.loads(toml) + try: + with open(source) as f: + toml, content = f.read().split("\n\n", maxsplit=1) + vars = tomllib.loads(toml) + except (OSError, tomllib.TOMLDecodeError) as e: + raise ValueError("Error parsing {source}") from e vars["content"] = content return vars |