PHP 8.2.30
Preview: transaction.py Size: 1.06 KB
//opt/alt/python37/lib/python3.7/site-packages/raven/utils/transaction.py

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

Directory Contents

Dirs: 2 × Files: 13

Name Size Perms Modified Actions
- drwxr-xr-x 2024-03-03 23:10:23
Edit Download
- drwxr-xr-x 2024-03-03 23:10:23
Edit Download
5.54 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
2.22 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
3.23 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
1.95 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
404 B lrw-r--r-- 2017-10-29 17:41:19
Edit Download
2.54 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
3.51 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
9.81 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
697 B lrw-r--r-- 2017-10-29 17:41:19
Edit Download
1.06 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
476 B lrw-r--r-- 2017-10-29 17:41:19
Edit Download
3.64 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download
4.71 KB lrw-r--r-- 2017-10-29 17:41:19
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).