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. Image compression before saving the new model / work with JPG, PNG by Schleidens 6 days, 9 hours ago
  2. Help text hyperlinks by sa2812 1 month ago
  3. Stuff by NixonDash 3 months, 1 week ago
  4. Add custom fields to the built-in Group model by jmoppel 5 months, 1 week ago
  5. Month / Year SelectDateWidget based on django SelectDateWidget by pierreben 8 months, 3 weeks ago

Comments

Please login first before commenting.