Python traceback.walk_stack() Examples
The following are 20
code examples of traceback.walk_stack().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
traceback
, or try the search function
.
Example #1
Source File: _stack.py From marbles with MIT License | 7 votes |
def get_stack_info(): '''Capture locals, module name, filename, and line number from the stacktrace to provide the source of the assertion error and formatted note. ''' stack = traceback.walk_stack(sys._getframe().f_back) # We want locals from the test definition (which always begins # with 'test_' in unittest), which will be at a different # level in the stack depending on how many tests are in each # test case, how many test cases there are, etc. # The branch where we exhaust this loop is not covered # because we always find a test. for frame, _ in stack: # pragma: no branch code = frame.f_code if code.co_name.startswith('test_'): return (frame.f_locals.copy(), frame.f_globals['__name__'], code.co_filename, frame.f_lineno)
Example #2
Source File: trace.py From ibis with Apache License 2.0 | 7 votes |
def _log_trace(func, start=None): level = 0 current_frame = None # Increase the current level for each traced function in the stackframe # This way we can visualize the call stack. for frame, _ in traceback.walk_stack(None): current_frame = current_frame if current_frame is not None else frame func_name = frame.f_code.co_name if func_name in _trace_funcs: level += 1 # We can assume we have 'args' because we only call _log_trace inside # trace or TraceDispatcher.resgister current_op = current_frame.f_locals['args'][0] # If the first argument is a Expr, we print its op because it's more # informative. if isinstance(current_op, ir.Expr): current_op = current_op.op() _logger.debug( f"{' ' * level} {func.__name__} {type(current_op).__qualname__} " f"{datetime.now() - start if start else ''}" )
Example #3
Source File: connection.py From asyncpg with Apache License 2.0 | 6 votes |
def _extract_stack(limit=10): """Replacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. """ frame = sys._getframe().f_back try: stack = traceback.StackSummary.extract( traceback.walk_stack(frame), lookup_lines=False) finally: del frame apg_path = asyncpg.__path__[0] i = 0 while i < len(stack) and stack[i][0].startswith(apg_path): i += 1 stack = stack[i:i + limit] stack.reverse() return ''.join(traceback.format_list(stack))
Example #4
Source File: pytorch_to_caffe.py From nn_tools with MIT License | 6 votes |
def __call__(self,*args,**kwargs): global RP_TRANSFERRING_FLAG if RP_TRANSFERRING_FLAG: return self.raw(*args,**kwargs) RP_TRANSFERRING_FLAG=True if not NET_INITTED: return self.raw(*args,**kwargs) for stack in traceback.walk_stack(None): if 'self' in stack[0].f_locals: layer=stack[0].f_locals['self'] if layer in layer_names: log.pytorch_layer_name=layer_names[layer] print("Processing Layer: "+layer_names[layer]) break out=self.obj(self.raw,*args,**kwargs) RP_TRANSFERRING_FLAG=False # if isinstance(out,Variable): # out=[out] return out # ----- for torch.nn.functional operations -----
Example #5
Source File: test_traceback.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_extract_stack(self): s = traceback.StackSummary.extract(traceback.walk_stack(None)) self.assertIsInstance(s, traceback.StackSummary)
Example #6
Source File: format_helpers.py From android_universal with MIT License | 5 votes |
def extract_stack(f=None, limit=None): """Replacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. """ if f is None: f = sys._getframe().f_back if limit is None: # Limit the amount of work to a reasonable amount, as extract_stack() # can be called for each coroutine and future in debug mode. limit = constants.DEBUG_STACK_DEPTH stack = traceback.StackSummary.extract(traceback.walk_stack(f), limit=limit, lookup_lines=False) stack.reverse() return stack
Example #7
Source File: format_helpers.py From Carnets with BSD 3-Clause "New" or "Revised" License | 5 votes |
def extract_stack(f=None, limit=None): """Replacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. """ if f is None: f = sys._getframe().f_back if limit is None: # Limit the amount of work to a reasonable amount, as extract_stack() # can be called for each coroutine and future in debug mode. limit = constants.DEBUG_STACK_DEPTH stack = traceback.StackSummary.extract(traceback.walk_stack(f), limit=limit, lookup_lines=False) stack.reverse() return stack
Example #8
Source File: test_callbacks.py From kopf with MIT License | 5 votes |
def _find_marker(): marker_repr = repr(STACK_TRACE_MARKER) stack = traceback.StackSummary.extract(traceback.walk_stack(None), capture_locals=True) for frame in stack: if 'stack_trace_marker' in frame.locals: if frame.locals['stack_trace_marker'] == marker_repr: return True return False
Example #9
Source File: concurrency.py From easypy with BSD 3-Clause "New" or "Revised" License | 5 votes |
def _extract_stack_iter(frame): for f, lineno in walk_stack(frame): co = f.f_code filename = co.co_filename name = co.co_name yield filename, lineno, name
Example #10
Source File: format_helpers.py From odoo13-x64 with GNU General Public License v3.0 | 5 votes |
def extract_stack(f=None, limit=None): """Replacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. """ if f is None: f = sys._getframe().f_back if limit is None: # Limit the amount of work to a reasonable amount, as extract_stack() # can be called for each coroutine and future in debug mode. limit = constants.DEBUG_STACK_DEPTH stack = traceback.StackSummary.extract(traceback.walk_stack(f), limit=limit, lookup_lines=False) stack.reverse() return stack
Example #11
Source File: test_traceback.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_format_locals(self): def some_inner(k, v): a = 1 b = 2 return traceback.StackSummary.extract( traceback.walk_stack(None), capture_locals=True, limit=1) s = some_inner(3, 4) self.assertEqual( [' File "%s", line %d, in some_inner\n' ' traceback.walk_stack(None), capture_locals=True, limit=1)\n' ' a = 1\n' ' b = 2\n' ' k = 3\n' ' v = 4\n' % (__file__, some_inner.__code__.co_firstlineno + 4) ], s.format())
Example #12
Source File: test_traceback.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_extract_stack_limit(self): s = traceback.StackSummary.extract(traceback.walk_stack(None), limit=5) self.assertEqual(len(s), 5)
Example #13
Source File: test_traceback.py From Project-New-Reign---Nemesis-Main with GNU General Public License v3.0 | 5 votes |
def test_walk_stack(self): def deeper(): return list(traceback.walk_stack(None)) s1 = list(traceback.walk_stack(None)) s2 = deeper() self.assertEqual(len(s2) - len(s1), 1) self.assertEqual(s2[1:], s1)
Example #14
Source File: pytorch_to_caffe.py From fast-reid with Apache License 2.0 | 5 votes |
def __call__(self, *args, **kwargs): if not NET_INITTED: return self.raw(*args, **kwargs) for stack in traceback.walk_stack(None): if 'self' in stack[0].f_locals: layer = stack[0].f_locals['self'] if layer in layer_names: log.pytorch_layer_name = layer_names[layer] print(layer_names[layer]) break out = self.obj(self.raw, *args, **kwargs) # if isinstance(out,Variable): # out=[out] return out
Example #15
Source File: format_helpers.py From Imogen with MIT License | 5 votes |
def extract_stack(f=None, limit=None): """Replacement for traceback.extract_stack() that only does the necessary work for asyncio debug mode. """ if f is None: f = sys._getframe().f_back if limit is None: # Limit the amount of work to a reasonable amount, as extract_stack() # can be called for each coroutine and future in debug mode. limit = constants.DEBUG_STACK_DEPTH stack = traceback.StackSummary.extract(traceback.walk_stack(f), limit=limit, lookup_lines=False) stack.reverse() return stack
Example #16
Source File: pytorch_to_caffe.py From PytorchToCaffe with MIT License | 5 votes |
def __call__(self,*args,**kwargs): if not NET_INITTED: return self.raw(*args,**kwargs) for stack in traceback.walk_stack(None): if 'self' in stack[0].f_locals: layer=stack[0].f_locals['self'] if layer in layer_names: log.pytorch_layer_name=layer_names[layer] print(layer_names[layer]) break out=self.obj(self.raw,*args,**kwargs) # if isinstance(out,Variable): # out=[out] return out
Example #17
Source File: test_traceback.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_format_locals(self): def some_inner(k, v): a = 1 b = 2 return traceback.StackSummary.extract( traceback.walk_stack(None), capture_locals=True, limit=1) s = some_inner(3, 4) self.assertEqual( [' File "%s", line %d, in some_inner\n' ' traceback.walk_stack(None), capture_locals=True, limit=1)\n' ' a = 1\n' ' b = 2\n' ' k = 3\n' ' v = 4\n' % (__file__, some_inner.__code__.co_firstlineno + 4) ], s.format())
Example #18
Source File: test_traceback.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_extract_stack_limit(self): s = traceback.StackSummary.extract(traceback.walk_stack(None), limit=5) self.assertEqual(len(s), 5)
Example #19
Source File: test_traceback.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_extract_stack(self): s = traceback.StackSummary.extract(traceback.walk_stack(None)) self.assertIsInstance(s, traceback.StackSummary)
Example #20
Source File: test_traceback.py From Fluid-Designer with GNU General Public License v3.0 | 5 votes |
def test_walk_stack(self): s = list(traceback.walk_stack(None)) self.assertGreater(len(s), 10)