示例#1
0
    def __getattr__(self, name):
        """ x.__getattr__('name') <==> x.name

        @return named attribute from EClientSocket object
        """
        try:
            value = getattr(self.client, name)
        except (AttributeError, ):
            raise
        if name not in self.clientMethodNames:
            return value
        return value
        typeName = toTypeName(name)
        preName, postName = name + 'Pre', name + 'Post'
        preType, postType = registry[preName], registry[postName]
        for item in registry:
            print item
            
        @wraps(value)
        def wrapperMethod(*args):
            mapping = dict(zip(preType.__slots__, args))
            results = self.dispatcher(preName, mapping)
            if not all(results):
                return  # raise exception instead?
            result = value(*args)
            self.dispatcher(postName, mapping)
            return result  # or results?
        return wrapperMethod
示例#2
0
def buildMessageRegistry(seq, suffixes=[''], bases=(Message, )):
    """ Construct message types and add to given mapping.

    @param seq pairs of method (name, arguments)
    @param bases sequence of base classes for message types
    @return None
    """
    for name, args in sorted(seq):
        for suffix in suffixes:
            typename = toTypeName(name) + suffix
            typens = {'__slots__': args, '__assoc__': name, 'typeName': name}
            msgtype = type(typename, bases, typens)
            if name in registry:
                registry[name] = registry[name] + (msgtype, )
            else:
                registry[name] = (msgtype, )
示例#3
0
def buildMessageRegistry(seq, suffixes=[''], bases=(Message, )):
	""" Construct message types and add to given mapping.

	@param seq pairs of method (name, arguments)
	@param bases sequence of base classes for message types
	@return None
	"""
	for name, args in sorted(seq):
		for suffix in suffixes:
			typename = toTypeName(name) + suffix
			typens = {'__slots__':args, '__assoc__':name, 'typeName':name}
			msgtype = type(typename, bases, typens)
			if name in registry:
				registry[name] = registry[name] + (msgtype, )
			else:
				registry[name] = (msgtype, )