• Nicolas Dumazet's avatar
    weed out the not-so-pretty ExtensionClass.__init__ trick · 9071fb3c
    Nicolas Dumazet authored
    Exploring Zope code finally revealed what we needed in the
    code, to allow removing the "trick".
    It's a "trick" because we have no real reason to call
    again the __init__ method of a metaclass: it's nicer to
    understand what we need to do and to do it explicitely.
    
    In this case, the __get__ slot was missing after the __bases__
    assignement (bases are recomputed and as a result __get__ is
    null'ed), and there is a method exposed in Zope's ExtensionClass
    to do exactly this and only this.
    
    The InitializeClass calls are included because
    ExtensionClass.__init__ calls __class_init__, which sets correctly
    roles and security on the class.
    
    
    git-svn-id: https://svn.erp5.org/repos/public/erp5/trunk@39752 20353a03-c40f-0410-a6d1-a30d3c3de9de
    9071fb3c
lazy_class.py 4.6 KB