Вы можете создать «условно» декоратор:
>>> def conditionally(dec, cond):
def resdec(f):
if not cond:
return f
return dec(f)
return resdec
Пример использования следующий:
>>> def burn(f):
def blah(*args, **kwargs):
print 'hah'
return f(*args, **kwargs)
return blah
>>> @conditionally(burn, True)
def witch(): pass
>>> witch()
hah
>>> @conditionally(burn, False)
def witch(): pass
>>> witch()