22import re
33import traceback
44
5+ import crawlee .errors
56import crawlee .router
67
78
@@ -10,7 +11,7 @@ def _get_only_innermost_exception(error: BaseException) -> BaseException:
1011
1112 If the innermost exception is UserHandlerTimeoutError, return whatever caused that if possible.
1213 """
13- if type (error ) is crawlee .router .UserHandlerTimeoutError :
14+ if type (error ) is crawlee .errors .UserHandlerTimeoutError :
1415 if error .__cause__ :
1516 return error .__cause__
1617 if error .__context__ :
@@ -46,7 +47,7 @@ def _strip_pep657_highlighting(traceback_part: str) -> str:
4647
4748
4849def reduce_asyncio_timeout_error_to_relevant_traceback_parts (
49- timeout_error : asyncio .exceptions .TimeoutError ,
50+ timeout_error : asyncio .exceptions .TimeoutError | crawlee . errors . UserHandlerTimeoutError ,
5051) -> list [str ]:
5152 innermost_error_traceback_parts = _get_traceback_parts_for_innermost_exception (timeout_error )
5253 return _get_filtered_traceback_parts_for_asyncio_timeout_error (innermost_error_traceback_parts )
@@ -63,7 +64,7 @@ def get_one_line_error_summary_if_possible(error: Exception) -> str:
6364 if isinstance (error , asyncio .exceptions .TimeoutError ):
6465 relevant_part = reduce_asyncio_timeout_error_to_relevant_traceback_parts (error )
6566 most_relevant_part = (',' + relevant_part [- 1 ]) if len (relevant_part ) else ''
66- elif isinstance (error , crawlee .router .UserHandlerTimeoutError ):
67+ elif isinstance (error , crawlee .errors .UserHandlerTimeoutError ):
6768 # Error is user defined handler. First two lines should be location of the `UserHandlerTimeoutError` in crawlee
6869 # code and third line the topmost user error
6970 traceback_parts = _get_traceback_parts_for_innermost_exception (error )
0 commit comments