diff --git a/server.py b/server.py index f51142e..9a8d57d 100644 --- a/server.py +++ b/server.py @@ -1,4 +1,5 @@ import contextlib +import datetime import io import json import os @@ -221,19 +222,21 @@ def preview_url( for result in results: # find the one with the closest timestamp metadata, _ts = result - if ts is None or abs(ts - _ts) < 3600: + created_at = datetime.datetime.fromtimestamp(_ts) + if ts is None or created_at <= datetime.datetime.fromtimestamp(ts): logging.debug("Optimal cache hit for %r", url) return json.loads(metadata) else: logging.debug("No optimal cache matches for url %r.", url) # No close matches, get the latest one metadata, _ts = results[-1] + created_at = datetime.datetime.fromtimestamp(_ts) # If the latest one is more than a week old, re-fetch. Otherwise, return. - if ts is None or abs(ts - _ts) < 604800: + if ts is None or created_at < (datetime.datetime.now() - datetime.timedelta(days=7)): logging.debug("Stale cache hit for %r", url) return json.loads(metadata) else: - logging.debug("Cache miss for %r") + logging.debug("Cache miss for %r", url) else: logging.debug("Full cache miss for %r", url)