bazarr/libs/subliminal/cache.py

28 lines
747 B
Python

# -*- coding: utf-8 -*-
from __future__ import absolute_import
import datetime
from hashlib import sha1
from dogpile.cache import make_region
#: Expiration time for show caching
SHOW_EXPIRATION_TIME = datetime.timedelta(weeks=3).total_seconds()
#: Expiration time for episode caching
EPISODE_EXPIRATION_TIME = datetime.timedelta(days=3).total_seconds()
#: Expiration time for scraper searches
REFINER_EXPIRATION_TIME = datetime.timedelta(weeks=1).total_seconds()
def sha1_key_mangler(key):
"""Return sha1 hex for cache keys"""
if isinstance(key, str):
key = key.encode("utf-8")
return sha1(key).hexdigest()
# Use key mangler to limit cache key names to 40 characters
region = make_region(key_mangler=sha1_key_mangler)