Skip to content

Commit 81ac559

Browse files
kreuzbergerdanwos
authored andcommitted
more specific exception handling
1 parent da2ad00 commit 81ac559

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

sphinx_simplepdf/builders/simplepdf.py

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ def finish(self) -> None:
143143

144144
else:
145145
retries = self.config["simplepdf_weasyprint_retries"]
146+
success = False
146147
for n in range(1 + retries):
147148
try:
148149
wp_out = subprocess.check_output(args, timeout=timeout, text=True, stderr=subprocess.STDOUT)
@@ -152,11 +153,14 @@ def finish(self) -> None:
152153
pass
153154
else:
154155
print(line)
156+
success = True
155157
break
156-
except: # subprocess.TimeoutExpired or subprocess.CalledProcessError
157-
logger.warning(f"exception in weasyprint, retrying")
158-
159-
if n == retries - 1:
158+
except subprocess.TimeoutExpired:
159+
logger.warning(f"TimeoutExpired in weasyprint, retrying")
160+
except subprocess.CalledProcessError as e:
161+
logger.warning(f"CalledProcessError in weasyprint, retrying\n{str(e)}")
162+
finally:
163+
if (n == retries - 1) and not success:
160164
raise RuntimeError(f"maximum number of retries {retries} failed in weasyprint")
161165

162166
def _toctree_fix(self, html):

0 commit comments

Comments
 (0)