/opt/cloudlinux/venv/lib/python3.11/site-packages/raven/utils
NameSizeModeActions
serializer/-0755rm
__pycache__/-0755rm
basic.py24430644editdlrm
compat.py56760644editdlrm
conf.py23430644editdlrm
encoding.py33030644editdlrm
http.py20000644editdlrm
imports.py4040644editdlrm
json.py29770644editdlrm
ssl_match_hostname.py35980644editdlrm
stacks.py100360644editdlrm
testutils.py6970644editdlrm
transaction.py10880644editdlrm
urlparse.py4760644editdlrm
wsgi.py37310644editdlrm
__init__.py32180644editdlrm
Edit: /opt/cloudlinux/venv/lib/python3.11/site-packages/raven/utils/transaction.py (1088B)
from __future__ import absolute_import from threading import local class TransactionContext(object): def __init__(self, stack, context): self.stack = stack self.context = context def __enter__(self): self.stack.push(self.context) return self def __exit__(self, *exc_info): self.stack.pop(self.context) class TransactionStack(local): def __init__(self): self.stack = [] def __len__(self): return len(self.stack) def __iter__(self): return iter(self.stack) def __call__(self, context): return TransactionContext(self, context) def clear(self): self.stack = [] def peek(self): try: return self.stack[-1] except IndexError: return None def push(self, context): self.stack.append(context) return context def pop(self, context=None): if context is None: return self.stack.pop() while self.stack: if self.stack.pop() is context: return context