All pastes #460800 Raw Edit

Cody Brocious

public python v1 · immutable
#460800 ·published 2007-04-27 09:07 UTC
rendered paste body
#!/usr/bin/env python# encoding: utf-8"""AsyncProxy.pyCreated by Cody Brocious on 2007-04-27.Copyright (c) 2007 Cody Brocious All rights reserved."""import structtry:    import cPickle as pickleexcept:    import pickleclass AsyncProxy(object):    def __init__(self, sock):        self.sock = sock        def __getattr__(self, name):        return self.caller(name)        def caller(self, name):        def call(*args, **kwargs):            if 'callback' in kwargs:                callback = kwargs['callback'].im_func.func_name                del kwargs['callback']            elif len(args) > 0:                callback = args[0].im_func.func_name                del args[0]            else:                callback = None                        req = (name, args, kwargs, callback)                        data = pickle.dumps(req)                        try:                self.sock.send(struct.pack('L', len(data)))                self.sock.send(data)            except:                return False                        return True                return call