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