예제 #1
0
파일: base.py 프로젝트: antlong/tapz
    def __new__(cls, name, bases, attrs):
        super_new = super(PanelMeta, cls).__new__
        parents = [b for b in bases if isinstance(b, PanelMeta)]
        if not parents:
            # If this isn't a subclass of Panel, don't do anything special.
            return super_new(cls, name, bases, attrs)

        new_class = super_new(cls, name, bases, {})
        meta = attrs.pop('Meta', None)
        new_class.add_to_class('_meta', PanelOptions(meta))
        for attr_name, attr_value in attrs.items():
            new_class.add_to_class(attr_name, attr_value)
        site.register(new_class)
        return new_class
예제 #2
0
 def setUp(self):
     site._auto_discover()
     self._registry_backup = site.__class__._panels
     site.__class__._panels = {}
     site.register(TestPanel)
     site.register(TestPanelWithMeta)
     site.register(TestPanelWithDimensions)