> def published(func): > def wrapper(): > request = get_request() > func(request) > return wrapper > > @published > def myfunc(request): > process(request) I kinda dislike this approach. Why should one add 5 lines of code when (which has to be interpreted at runtime) when it's so much simpler to just write: # publush def myfunc(request): ... instead? This eat's much less CPU time. Morale: because something is "geek" or "hula-hoop", you don't have to use it.