Login

ached decorator for functions

Author:
pawnhearts
Posted:
January 7, 2010
Language:
Python
Version:
1.1
Score:
1 (after 1 ratings)

example:

@cached() def foo(slug): return Egg.objects.filter(slug=slug)

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
from django.core.cache import cache
from hashlib import sha256

def cached(ctime=3600):
    def decr(func):
        def wrp(*args,**kargs):
            key = sha256(func.func_name+repr(args)+repr(kargs)).hexdigest()
            res = cache.get(key)
            if res is None:
                res = func(*args,**kargs)
                cache.set(key,res,ctime)
            return res
        return wrp
    return decr

More like this

  1. Template tag - list punctuation for a list of items by shapiromatron 11 months, 2 weeks ago
  2. JSONRequestMiddleware adds a .json() method to your HttpRequests by cdcarter 11 months, 2 weeks ago
  3. Serializer factory with Django Rest Framework by julio 1 year, 6 months ago
  4. Image compression before saving the new model / work with JPG, PNG by Schleidens 1 year, 7 months ago
  5. Help text hyperlinks by sa2812 1 year, 7 months ago

Comments

Please login first before commenting.