@@ -686,7 +686,7 @@ def mk_dataclass(cls):
686686 setattr (cls , k , field (default = None ))
687687 dataclass (cls , init = True , repr = True , eq = True , order = False , unsafe_hash = False , frozen = False )
688688
689- # %% ../nbs/03_xtras.ipynb 181
689+ # %% ../nbs/03_xtras.ipynb 179
690690def flexicache (* funcs , maxsize = 128 ):
691691 "Like `lru_cache`, but customisable with policy `funcs`"
692692 def _f (func ):
@@ -711,23 +711,23 @@ def wrapper(*args, **kwargs):
711711 return wrapper
712712 return _f
713713
714- # %% ../nbs/03_xtras.ipynb 183
714+ # %% ../nbs/03_xtras.ipynb 181
715715def time_policy (seconds ):
716716 "A `flexicache` policy that expires cached items after `seconds` have passed"
717717 def policy (last_time ):
718718 now = time ()
719719 return now if last_time is None or now - last_time > seconds else None
720720 return policy
721721
722- # %% ../nbs/03_xtras.ipynb 184
722+ # %% ../nbs/03_xtras.ipynb 182
723723def mtime_policy (filepath ):
724724 "A `flexicache` policy that expires cached items after `filepath` modified-time changes"
725725 def policy (mtime ):
726726 current_mtime = getmtime (filepath )
727727 return current_mtime if mtime is None or current_mtime > mtime else None
728728 return policy
729729
730- # %% ../nbs/03_xtras.ipynb 187
730+ # %% ../nbs/03_xtras.ipynb 185
731731def timed_cache (seconds = 60 , maxsize = 128 ):
732732 "Like `lru_cache`, but also with time-based eviction"
733733 return flexicache (time_policy (seconds ), maxsize = maxsize )
0 commit comments