class FunctionBackend(object): | |
def __init__(self): | |
self.function_classes = {} | |
def __getattr__(self, name): | |
fn = self.function_classes.get(name) | |
if fn is None: | |
raise NotImplementedError | |
return fn | |
def register_function(self, name, function_class): | |
if self.function_classes.get(name): | |
raise RuntimeError("Trying to register second function under name " + name + " in " + type(self).__name__) | |
self.function_classes[name] = function_class |