def remote_push_function(self, binaryNS, targets, block): try: namespace = pickle.loads(binaryNS) except: d = defer.fail(failure.Failure()) else: namespace = uncanDict(namespace) d = self.smultiengine.push_function(namespace, targets=targets, block=block) return d
def remote_push_function(self, pNamespace): try: namespace = pickle.loads(pNamespace) except: return defer.fail(failure.Failure()).addErrback(packageFailure) else: # The usage of globals() here is an attempt to bind any pickled functions # to the globals of this module. What we really want is to have it bound # to the globals of the callers module. This will require walking the # stack. BG 10/3/07. namespace = uncanDict(namespace, globals()) return self.service.push_function(namespace).addErrback(packageFailure)