__ __ __ __ _____ _ _ _____ _ _ _ | \/ | \ \ / / | __ \ (_) | | / ____| | | | | | \ / |_ __\ V / | |__) | __ ___ ____ _| |_ ___ | (___ | |__ ___| | | | |\/| | '__|> < | ___/ '__| \ \ / / _` | __/ _ \ \___ \| '_ \ / _ \ | | | | | | |_ / . \ | | | | | |\ V / (_| | || __/ ____) | | | | __/ | | |_| |_|_(_)_/ \_\ |_| |_| |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1 if you need WebShell for Seo everyday contact me on Telegram Telegram Address : @jackleetFor_More_Tools:
# SPDX-FileCopyrightText: 2015 Eric Larson
#
# SPDX-License-Identifier: Apache-2.0
"""
The cache object API for implementing caches. The default is a thread
safe in-memory dictionary.
"""
from threading import Lock
class BaseCache(object):
def get(self, key):
raise NotImplementedError()
def set(self, key, value, expires=None):
raise NotImplementedError()
def delete(self, key):
raise NotImplementedError()
def close(self):
pass
class DictCache(BaseCache):
def __init__(self, init_dict=None):
self.lock = Lock()
self.data = init_dict or {}
def get(self, key):
return self.data.get(key, None)
def set(self, key, value, expires=None):
with self.lock:
self.data.update({key: value})
def delete(self, key):
with self.lock:
if key in self.data:
self.data.pop(key)
| Name | Type | Size | Permission | Actions |
|---|---|---|---|---|
| caches | Folder | 0755 |
|
|
| __init__.py | File | 465 B | 0644 |
|
| _cmd.py | File | 1.35 KB | 0644 |
|
| adapter.py | File | 4.92 KB | 0644 |
|
| cache.py | File | 917 B | 0644 |
|
| compat.py | File | 778 B | 0644 |
|
| controller.py | File | 15.26 KB | 0644 |
|
| filewrapper.py | File | 3.85 KB | 0644 |
|
| heuristics.py | File | 4.06 KB | 0644 |
|
| serialize.py | File | 6.62 KB | 0644 |
|
| wrapper.py | File | 774 B | 0644 |
|