summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
e0986e3)
According to the docs '__init__' is only called automatically if '__new__' returns an instance of the original class.
def ie_key(cls):
return cls.__name__[:-2]
def ie_key(cls):
return cls.__name__[:-2]
+ def __new__(cls, *args, **kwargs):
mod = __import__(cls._module, fromlist=(cls.__name__,))
real_cls = getattr(mod, cls.__name__)
mod = __import__(cls._module, fromlist=(cls.__name__,))
real_cls = getattr(mod, cls.__name__)
- return real_cls.__new__(real_cls)
+ instance = real_cls.__new__(real_cls)
+ instance.__init__(*args, **kwargs)
+ return instance