invocation-tree 0.0.18__tar.gz → 0.0.20__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {invocation_tree-0.0.18/invocation_tree.egg-info → invocation_tree-0.0.20}/PKG-INFO +1 -1
  2. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/invocation_tree/__init__.py +8 -12
  3. {invocation_tree-0.0.18 → invocation_tree-0.0.20/invocation_tree.egg-info}/PKG-INFO +1 -1
  4. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/pyproject.toml +1 -1
  5. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/LICENSE.txt +0 -0
  6. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/MANIFEST.in +0 -0
  7. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/README.md +0 -0
  8. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/compute.gif +0 -0
  9. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/compute.py +0 -0
  10. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/create_gif.sh +0 -0
  11. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/create_images.sh +0 -0
  12. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/factorial.gif +0 -0
  13. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/factorial.py +0 -0
  14. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/permutations.gif +0 -0
  15. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/permutations.py +0 -0
  16. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/students.gif +0 -0
  17. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/students.py +0 -0
  18. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/images/vscode.png +0 -0
  19. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/invocation_tree.egg-info/SOURCES.txt +0 -0
  20. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/invocation_tree.egg-info/dependency_links.txt +0 -0
  21. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/invocation_tree.egg-info/requires.txt +0 -0
  22. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/invocation_tree.egg-info/top_level.txt +0 -0
  23. {invocation_tree-0.0.18 → invocation_tree-0.0.20}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invocation_tree
3
- Version: 0.0.18
3
+ Version: 0.0.20
4
4
  Summary: Generates an invocation tree of functions calls.
5
5
  Author-email: Bas Terwijn <bterwijn@gmail.com>
6
6
  License: BSD 2-Clause License
@@ -7,7 +7,7 @@ import html
7
7
  import sys
8
8
  import difflib
9
9
 
10
- __version__ = "0.0.18"
10
+ __version__ = "0.0.20"
11
11
  __author__ = 'Bas Terwijn'
12
12
 
13
13
  def highlight_diff(str1, str2):
@@ -275,27 +275,23 @@ class Invocation_Tree:
275
275
 
276
276
  def global_tracer(self, frame, event, arg):
277
277
  """ Global trace function that chains to any previous global tracer so it works in a debugger too. """
278
- self.trace(frame, event, arg)
278
+ self.trace(frame, event, arg) # update graph
279
279
  # call previous global tracer if any existed
280
280
  prev_local_tracer = self.prev_global_tracer(frame, event, arg) if self.prev_global_tracer else None
281
-
281
+
282
282
  def local_tracer(frame, event, arg):
283
283
  """ Global trace is for a 'call' event that signals a new frame, it returns a local tracer to
284
284
  handle other events in that frame. """
285
285
  self.trace(frame, event, arg)
286
- return local_tracer
287
286
 
288
287
  def local_multiplexer(frame, event, arg):
289
288
  """ Multiplexes between the local tracer and any previous local tracer so it works in a debugger too. """
290
- # call local tracer
291
- new_local_tracer = local_tracer(frame, event, arg)
289
+ nonlocal prev_local_tracer
290
+ local_tracer(frame, event, arg) # update graph
292
291
  if prev_local_tracer is not None:
293
- # call previous local tracer if any existed
294
- new_prev_local_tracer = prev_local_tracer(frame, event, arg)
295
- # if previous local tracer returns None, stop tracing this frame as debugger probably stopped it
296
- if new_prev_local_tracer is None:
297
- return None
298
- return new_local_tracer
292
+ # call previous local tracer if any existed and update it
293
+ prev_local_tracer = prev_local_tracer(frame, event, arg)
294
+ return local_multiplexer
299
295
 
300
296
  return local_multiplexer
301
297
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: invocation_tree
3
- Version: 0.0.18
3
+ Version: 0.0.20
4
4
  Summary: Generates an invocation tree of functions calls.
5
5
  Author-email: Bas Terwijn <bterwijn@gmail.com>
6
6
  License: BSD 2-Clause License
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "invocation_tree"
7
- version = "0.0.18"
7
+ version = "0.0.20"
8
8
  description = "Generates an invocation tree of functions calls."
9
9
  authors = [
10
10
  {name = "Bas Terwijn", email = "bterwijn@gmail.com"}