@happy_variable try the following instead of __init__:
def __init__ (self, name, dration, from_brick):
In python, class methods (except the staticmethods or classmethods) are called with the instance of the class as the first argument.
EDIT: You will also need to replace SpriteNode.__setattr__(name, duration, from_brick) with SpriteNode.__setattr__(self, name, duration, from_brick).
This is because SpriteNode.__setattr__ is a unbound class method.