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
示例#2
0
 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
示例#3
0
  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)