title: Python: How to call super when the class itself has a decorator?
body: <p>I need to call the inherited class to get it's content and methods to work. But I also have a class decorator assigned to my wrapper classes. I have a lot of wrapper classes and want them to be as short as possible, that's why I try to get this to work.</p>
  
  <pre><code>@add_properties
  class Item01Object(BaseItemObject):
      properties=["quantum","size","mass"]
  
      def __init__(self, name=None):
          super(Item01Object, self).__init__(name)
  
      #[...]
  
  @add_properties
  class Item02Object(BaseItemObject):
      #[...]
  </code></pre>
  
  <p>But when I instance my class, I get the following error:</p>
  
  <pre><code>File "C:\wrapper.py", line 862, in __init__
  super(Item01Object, self).__init__(name)
  NameError: global name 'Item01Object' is not defined
  </code></pre>
  
  <p>The idea: </p>
  
  <ol>
  <li>Quick edit of each "wrapper" item's properties with it's class variable <code>properties</code></li>
  <li>Base functionality given by the <code>BaseItemObject</code></li>
  <li>Methods could be easily overwritten</li>
  <li>Short wrapper classes to have a good overview</li>
  </ol>
  
  <p>How could I make it work??</p>
  
  <p>Thanks.</p>