diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-23 12:27:43 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2016-09-23 12:27:43 +0200 | 
| commit | 3a6cc667c42d540fbab83179d82b14679967e5db (patch) | |
| tree | 8736f0005a4a2c89d8b8a818a73adc310bb1ea55 /ishtar_common/utils.py | |
| parent | 693762168a5fdb2a44778079c57e9e6de7a384bf (diff) | |
| download | Ishtar-3a6cc667c42d540fbab83179d82b14679967e5db.tar.bz2 Ishtar-3a6cc667c42d540fbab83179d82b14679967e5db.zip | |
Cache: manage long keys - immediatly refresh cache after types modifications
Diffstat (limited to 'ishtar_common/utils.py')
| -rw-r--r-- | ishtar_common/utils.py | 8 | 
1 files changed, 8 insertions, 0 deletions
| diff --git a/ishtar_common/utils.py b/ishtar_common/utils.py index ca9193204..60c3ac7ef 100644 --- a/ishtar_common/utils.py +++ b/ishtar_common/utils.py @@ -17,6 +17,7 @@  # See the file COPYING for details. +import hashlib  import random  from django.conf import settings @@ -41,6 +42,13 @@ def get_cache(cls, extra_args=[]):              else:                  cache_key += '-' + unicode(arg)      cache_key = slugify(cache_key) +    if not cache_key.endswith('_current_keys') \ +            and hasattr(cls, '_add_cache_key_to_refresh'): +        cls._add_cache_key_to_refresh(extra_args) +    if len(cache_key) >= 250: +        m = hashlib.md5() +        m.update(cache_key) +        cache_key = m.hexdigest()      return cache_key, cache.get(cache_key) | 
