summaryrefslogtreecommitdiffhomepage
path: root/libs/subliminal/cache.py
blob: da0312ba5b694a0ded6220607bde5b66a231403d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# -*- 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)