13
13
from typing import Literal
14
14
15
15
import click
16
- from rich .traceback import Traceback
17
16
18
17
from _pytask .capture_utils import CaptureMethod
19
18
from _pytask .capture_utils import ShowCapture
34
33
from _pytask .session import Session
35
34
from _pytask .shared import parse_paths
36
35
from _pytask .shared import to_list
37
- from _pytask .traceback import remove_internal_traceback_frames_from_exc_info
36
+ from _pytask .traceback import Traceback
38
37
39
38
if TYPE_CHECKING :
40
39
from typing import NoReturn
@@ -66,7 +65,7 @@ def pytask_unconfigure(session: Session) -> None:
66
65
path .write_text (json .dumps (HashPathCache ._cache ))
67
66
68
67
69
- def build ( # noqa: C901, PLR0912, PLR0913, PLR0915
68
+ def build ( # noqa: C901, PLR0912, PLR0913
70
69
* ,
71
70
capture : Literal ["fd" , "no" , "sys" , "tee-sys" ] | CaptureMethod = CaptureMethod .FD ,
72
71
check_casing_of_paths : bool = True ,
@@ -257,9 +256,7 @@ def build( # noqa: C901, PLR0912, PLR0913, PLR0915
257
256
session = Session .from_config (config_ )
258
257
259
258
except (ConfigurationError , Exception ):
260
- exc_info = remove_internal_traceback_frames_from_exc_info (sys .exc_info ())
261
- traceback = Traceback .from_exception (* exc_info )
262
- console .print (traceback )
259
+ console .print (Traceback (sys .exc_info ()))
263
260
session = Session (exit_code = ExitCode .CONFIGURATION_FAILED )
264
261
265
262
else :
@@ -279,9 +276,7 @@ def build( # noqa: C901, PLR0912, PLR0913, PLR0915
279
276
session .exit_code = ExitCode .FAILED
280
277
281
278
except Exception : # noqa: BLE001
282
- exc_info = remove_internal_traceback_frames_from_exc_info (sys .exc_info ())
283
- traceback = Traceback .from_exception (* exc_info )
284
- console .print (traceback )
279
+ console .print (Traceback (sys .exc_info ()))
285
280
session .exit_code = ExitCode .FAILED
286
281
287
282
session .hook .pytask_unconfigure (session = session )
0 commit comments