Cache accepts arbitrary (lambda) condition for refreshing
This commit is contained in:
parent
2eabe5c1eb
commit
2b837c887d
1 changed files with 3 additions and 2 deletions
5
main.py
5
main.py
|
@ -67,15 +67,16 @@ class VideoWrapper:
|
|||
|
||||
# Helper Class for using caches
|
||||
class Cache:
|
||||
def __init__(self):
|
||||
def __init__(self, criteria = lambda diff: diff.days > 0):
|
||||
self.dict = {}
|
||||
self.criteria = criteria
|
||||
|
||||
def get(self, arg, func):
|
||||
if arg in self.dict:
|
||||
last_time_updated = (self.dict[arg])[1]
|
||||
time_diff = datetime.now() - last_time_updated
|
||||
|
||||
if time_diff.days > 0:
|
||||
if self.criteria(time_diff):
|
||||
self.dict[arg] = [
|
||||
func(arg),
|
||||
datetime.now()
|
||||
|
|
Loading…
Reference in a new issue