def __init__(self, method, *args): if len(args) != len(method.fields): argspec = ["%s: %s" % (pythonize(f.name), f.type) for f in method.fields] raise TypeError("%s.%s expecting (%s), got %s" % (pythonize(method.klass.name), pythonize(method.name), ", ".join(argspec), args)) self.method = method self.args = args
def __init__(self, method, *args): if len(args) != len(method.fields): argspec = [ "%s: %s" % (pythonize(f.name), f.type) for f in method.fields ] raise TypeError("%s.%s expecting (%s), got %s" % (pythonize(method.klass.name), pythonize(method.name), ", ".join(argspec), args)) self.method = method self.args = args
def dispatch(self, channel, message): method = message.method try: handler = self.handlers[method] except KeyError: name = "%s_%s" % (pythonize(method.klass.name), pythonize(method.name)) handler = getattr(self, name) self.handlers[method] = handler return handler(channel, message)