Skip to content

Commit 4824427

Browse files
committed
fix: improve error handling
1 parent 3b33b2e commit 4824427

File tree

1 file changed

+12
-10
lines changed

1 file changed

+12
-10
lines changed

src/osw/wtsite.py

Lines changed: 12 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -222,6 +222,8 @@ class GetPageParam(OswBaseModel):
222222
"""Whether to print debug messages"""
223223
raise_exception: Optional[bool] = False
224224
"""Whether to raise an exception if an error occurs"""
225+
raise_warning: Optional[bool] = True
226+
"""Whether to raise a warning if a page does not exist occurs"""
225227

226228
def __init__(self, **data):
227229
super().__init__(**data)
@@ -272,13 +274,14 @@ def get_page_(title: str, index: int = None):
272274
self._page_cache[title] = wtpage
273275
pages.append(wtpage)
274276
if not wtpage.exists:
275-
warnings.warn(
276-
"WARNING: Page with title '{}' does not exist.".format(
277-
title
278-
),
279-
RuntimeWarning,
280-
3,
281-
)
277+
if param.raise_warning:
278+
warnings.warn(
279+
"WARNING: Page with title '{}' does not exist.".format(
280+
title
281+
),
282+
RuntimeWarning,
283+
3,
284+
)
282285
# throw argument value exception if page does not exist
283286
raise ValueError(f"Page with title '{title}' does not exist.")
284287

@@ -289,7 +292,7 @@ def get_page_(title: str, index: int = None):
289292
# retry if probably a network error and retry limit not reached
290293
if not isinstance(e, ValueError) and retry < param.retries:
291294
retry += 1
292-
msg = f"Page load failed. Retry ({retry}/{param.retries}). "
295+
msg = f"Page load failed: '{e}'. Retry ({retry}/{param.retries}). "
293296
sleep(5)
294297
else: # last entry -> throw exception
295298
retry = param.retries
@@ -1282,10 +1285,9 @@ def edit(self, comment: str = None, mode="action-multislot"):
12821285
try:
12831286
return self._edit(comment, mode)
12841287
except Exception as e:
1285-
print(e)
12861288
if retry < max_retry:
12871289
retry += 1
1288-
print(f"Page edit failed. Retry ({retry}/{max_retry})")
1290+
print(f"Page edit failed: {e}. Retry ({retry}/{max_retry})")
12891291
sleep(5)
12901292

12911293
def _edit(self, comment: str = None, mode="action-multislot"):

0 commit comments

Comments
 (0)