Fixed filename too long with cache

Use sha1 digest as cache key
This commit is contained in:
morpheus65535 2021-03-14 12:36:52 -04:00 committed by GitHub
commit ea0662cbd2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 11 additions and 1 deletions

View File

@ -1,6 +1,7 @@
# -*- coding: utf-8 -*-
from __future__ import absolute_import
import datetime
from hashlib import sha1
from dogpile.cache import make_region
@ -14,4 +15,13 @@ EPISODE_EXPIRATION_TIME = datetime.timedelta(days=3).total_seconds()
REFINER_EXPIRATION_TIME = datetime.timedelta(weeks=1).total_seconds()
region = make_region()
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)