web/hdalab/utils.py
author ymh <ymh.work@gmail.com>
Tue, 13 Mar 2012 13:28:26 +0100
changeset 154 8527c5a3ddb7
child 156 3d70078fe90a
permissions -rw-r--r--
add cache management to filter

# -*- coding: utf-8 -*-
'''
Created on Mar 13, 2012

@author: ymh
'''
from django.core.cache import cache
from django.utils.encoding import smart_str
import md5
import re


def fix_cache_key(key):
    cache_key = re.sub(r'\s+', '-', key)
    cache_key = smart_str(cache_key)
    if len(cache_key) > (250-(2+len(cache.key_prefix)+len(str(cache.version)))-33):
        cache_key = cache_key[:(250-(2+len(cache.key_prefix)+len(str(cache.version)))-33)] + '-' + md5.new(cache_key).hexdigest()
        return cache_key