一部のデコレータは、最外層でのみ使用する必要があります。
元の関数を拡張し、configure パラメーターを追加するデコレーターはその一例です。
from functools import wraps
def special_case(f):
@wraps(f)
def _(a, b, config_x=False):
if config_x:
print "Special case here"
return
return f(a, b)
このようなデコレータが別のデコレータによって装飾されないようにするにはどうすればよいですか?
編集
新しいデコレータを適用しようとしているすべての人がアプリケーションの順序について心配するのは本当にうんざりです。
では、このような状況を回避することは可能でしょうか? 新しいパラメーターを導入せずに構成オプションを追加することは可能ですか?