Skip to content

Commit 35991e6

Browse files
committed
Import exceptions directly
More straightforward and explicit
1 parent f696217 commit 35991e6

1 file changed

Lines changed: 8 additions & 10 deletions

File tree

src/pdfbaker/document.py

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@
88
import yaml
99
from jinja2 import Template
1010

11-
from . import errors
1211
from .common import combine_pdfs, compress_pdf, convert_svg_to_pdf, deep_merge
12+
from .errors import PDFBakeError, PDFCompressionError, SVGConversionError
1313
from .render import create_env, prepare_template_context
1414

1515
__all__ = [
@@ -52,9 +52,7 @@ def _load_config(
5252
page_config = yaml.safe_load(f)
5353
return deep_merge(base_config, page_config)
5454
except Exception as exc:
55-
raise errors.PDFBakeError(
56-
f"Failed to load page config file: {exc}"
57-
) from exc
55+
raise PDFBakeError(f"Failed to load page config file: {exc}") from exc
5856

5957
def process(self) -> Path:
6058
"""Process the page from SVG template to PDF."""
@@ -78,7 +76,7 @@ def process(self) -> Path:
7876
pdf_path,
7977
backend=svg2pdf_backend,
8078
)
81-
except errors.SVGConversionError as exc:
79+
except SVGConversionError as exc:
8280
self.document.baker.error(
8381
"Failed to convert page %d (%s): %s",
8482
self.number,
@@ -120,7 +118,7 @@ def _load_config(self) -> dict[str, Any]:
120118
doc_config = yaml.safe_load(f)
121119
return deep_merge(self.baker.config, doc_config)
122120
except Exception as exc:
123-
raise errors.PDFBakeError(f"Failed to load config file: {exc}") from exc
121+
raise PDFBakeError(f"Failed to load config file: {exc}") from exc
124122

125123
def setup_directories(self) -> None:
126124
"""Set up document directories."""
@@ -172,7 +170,7 @@ def _process_pages(self, config: dict[str, Any]) -> None:
172170
"""Process pages with given configuration."""
173171
pages = config.get("pages", [])
174172
if not pages:
175-
raise errors.PDFBakeError("No pages defined in config")
173+
raise PDFBakeError("No pages defined in config")
176174

177175
pdf_files = []
178176
for page_num, page_name in enumerate(pages, start=1):
@@ -193,14 +191,14 @@ def _process_with_custom_bake(self, bake_path: Path) -> None:
193191
f"documents.{self.name}.bake", bake_path
194192
)
195193
if spec is None or spec.loader is None:
196-
raise errors.PDFBakeError(
194+
raise PDFBakeError(
197195
f"Failed to load bake module for document {self.name}"
198196
)
199197
module = importlib.util.module_from_spec(spec)
200198
spec.loader.exec_module(module)
201199
module.process_document(document=self)
202200
except Exception as exc:
203-
raise errors.PDFBakeError(
201+
raise PDFBakeError(
204202
f"Failed to process document with custom bake: {exc}"
205203
) from exc
206204

@@ -217,7 +215,7 @@ def _finalize(self, pdf_files: list[Path], config: dict[str, Any]) -> None:
217215
try:
218216
compress_pdf(combined_pdf, output_path)
219217
self.baker.info("PDF compressed successfully")
220-
except errors.PDFCompressionError as exc:
218+
except PDFCompressionError as exc:
221219
self.baker.warning(
222220
"Compression failed, using uncompressed version: %s",
223221
exc,

0 commit comments

Comments
 (0)