__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from typing import Any
_SENTINEL = object()
class LRUCache:
def __init__(self, max_size: int) -> None:
if max_size <= 0:
raise AssertionError(f"invalid max_size: {max_size}")
self.max_size = max_size
self._data: "dict[Any, Any]" = {}
self.hits = self.misses = 0
self.full = False
def set(self, key: "Any", value: "Any") -> None:
current = self._data.pop(key, _SENTINEL)
if current is not _SENTINEL:
self._data[key] = value
elif self.full:
self._data.pop(next(iter(self._data)))
self._data[key] = value
else:
self._data[key] = value
self.full = len(self._data) >= self.max_size
def get(self, key: "Any", default: "Any" = None) -> "Any":
try:
ret = self._data.pop(key)
except KeyError:
self.misses += 1
ret = default
else:
self.hits += 1
self._data[key] = ret
return ret
def get_all(self) -> "list[tuple[Any, Any]]":
return list(self._data.items())
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| __pycache__ | Folder | 0755 |
|
|
| ai | Folder | 0755 |
|
|
| crons | Folder | 0755 |
|
|
| integrations | Folder | 0755 |
|
|
| profiler | Folder | 0755 |
|
|
| __init__.py | File | 1.46 KB | 0644 |
|
| _batcher.py | File | 5.7 KB | 0644 |
|
| _compat.py | File | 3 KB | 0644 |
|
| _init_implementation.py | File | 2.43 KB | 0644 |
|
| _log_batcher.py | File | 1.88 KB | 0644 |
|
| _lru_cache.py | File | 1.14 KB | 0644 |
|
| _metrics_batcher.py | File | 1.21 KB | 0644 |
|
| _queue.py | File | 10.98 KB | 0644 |
|
| _span_batcher.py | File | 8.12 KB | 0644 |
|
| _types.py | File | 13.16 KB | 0644 |
|
| _werkzeug.py | File | 3.85 KB | 0644 |
|
| api.py | File | 15.59 KB | 0644 |
|
| attachments.py | File | 2.95 KB | 0644 |
|
| client.py | File | 49.95 KB | 0644 |
|
| consts.py | File | 61.95 KB | 0644 |
|
| debug.py | File | 959 B | 0644 |
|
| envelope.py | File | 9.37 KB | 0644 |
|
| feature_flags.py | File | 2.5 KB | 0644 |
|
| hub.py | File | 24.54 KB | 0644 |
|
| logger.py | File | 2.6 KB | 0644 |
|
| metrics.py | File | 1.42 KB | 0644 |
|
| monitor.py | File | 4.47 KB | 0644 |
|
| py.typed | File | 0 B | 0644 |
|
| scope.py | File | 74.09 KB | 0644 |
|
| scrubber.py | File | 5.99 KB | 0644 |
|
| serializer.py | File | 12.82 KB | 0644 |
|
| session.py | File | 5.08 KB | 0644 |
|
| sessions.py | File | 8.59 KB | 0644 |
|
| spotlight.py | File | 11.85 KB | 0644 |
|
| traces.py | File | 25.08 KB | 0644 |
|
| tracing.py | File | 50.33 KB | 0644 |
|
| tracing_utils.py | File | 54.36 KB | 0644 |
|
| transport.py | File | 44.41 KB | 0644 |
|
| types.py | File | 1.24 KB | 0644 |
|
| utils.py | File | 65.96 KB | 0644 |
|
| worker.py | File | 10.91 KB | 0644 |
|