On 6/18/2012 3:16 PM Roy Smith said...
Is there any way to conditionally apply a decorator to a function?
For example, in django, I want to be able to control, via a run-time
config flag, if a view gets decorated with @login_required().

@login_required()
def my_view(request):
     pass


class myDecorator(object):
    def __init__(self, f):
        self.f = f
    def __call__(self):
        print "Entering", self.f.__name__
        self.f()
        print "Exited", self.f.__name__


def null(a): return a


#if condition:
myDecorator = null


@myDecorator
def aFunction():
    print "aFunction running"

aFunction()


Cobbled together from http://www.chrisevans3d.com/pub_blog/?p=530 and http://stackoverflow.com/questions/3687046/python-sphinx-autodoc-and-decorated-members

HTH

Emile

--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to