From b9f35dbcb243dd486c0150d4b7fa6b8ba064ce47 Mon Sep 17 00:00:00 2001 From: Elijah Qi Date: Sat, 15 Apr 2023 22:11:25 -0400 Subject: [PATCH] Modify depth to depth_iterator to support float('inf') and also break if _frame_candidate is internal_frame --- pysnooper/tracer.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/pysnooper/tracer.py b/pysnooper/tracer.py index 0f35500..9c075ed 100644 --- a/pysnooper/tracer.py +++ b/pysnooper/tracer.py @@ -403,10 +403,13 @@ class Tracer: return None else: _frame_candidate = frame - for i in range(1, self.depth): + depth_iterator = itertools.count(1) if (self.depth == float('inf')) else range(1, self.depth) + for i in depth_iterator: _frame_candidate = _frame_candidate.f_back if _frame_candidate is None: return None + elif self._is_internal_frame(_frame_candidate): + return None elif _frame_candidate.f_code in self.target_codes or _frame_candidate in self.target_frames: break else: