title: Python3 decorating conditionally?
body: <p>Is it possible to decorate a function based on a condition?</p>
  
  <p>a'la:</p>
  
  <pre><code>if she.weight() == duck.weight(): 
      @burn
  def witch():
      pass
  </code></pre>
  
  <p>I'm just wondering if logic could be used (when <code>witch</code> is called?) to figure out whether or not to decorate <code>witch</code> with <code>@burn</code>?</p>
  
  <p>If not, is it possible to create a condition within the decorator to the same effect? (<code>witch</code> being called undecorated.)</p>