Find the next frame that doesn't involve Python or user internals.
(frame, skip_file_prefixes)
| 430 | |
| 431 | |
| 432 | def _next_external_frame(frame, skip_file_prefixes): |
| 433 | """Find the next frame that doesn't involve Python or user internals.""" |
| 434 | frame = frame.f_back |
| 435 | while frame is not None and ( |
| 436 | _is_internal_filename(filename := frame.f_code.co_filename) or |
| 437 | _is_filename_to_skip(filename, skip_file_prefixes)): |
| 438 | frame = frame.f_back |
| 439 | return frame |
| 440 | |
| 441 | |
| 442 | # Code typically replaced by _warnings |
no test coverage detected