mirror of
https://github.com/moparisthebest/SickRage
synced 2024-11-11 11:55:03 -05:00
9ac649444d
Added session handler to our cache handler so that we can pass in paramaters at the request level and use them for our cache handler to process features.
37 lines
794 B
Python
37 lines
794 B
Python
"""
|
|
The cache object API for implementing caches. The default is just a
|
|
dictionary, which in turns means it is not threadsafe for writing.
|
|
"""
|
|
from threading import Lock
|
|
|
|
|
|
class BaseCache(object):
|
|
|
|
def get(self, key):
|
|
raise NotImplemented()
|
|
|
|
def set(self, key, value):
|
|
raise NotImplemented()
|
|
|
|
def delete(self, key):
|
|
raise NotImplemented()
|
|
|
|
|
|
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):
|
|
with self.lock:
|
|
self.data.update({key: value})
|
|
|
|
def delete(self, key):
|
|
with self.lock:
|
|
if key in self.data:
|
|
self.data.pop(key)
|
|
0 |