Beispiel #1
0
def _persistent_load(id):
    m = _ext_id_re.match(id)
    if not m:
        raise pickle.UnpickleableError("Cannot unpickle external id: %s" % id)
    module_name, class_name, id = m.groups()
    cls = utils.modules.variable_from_module(module_name, class_name)
    if cls in _external_types:
        return _external_types[cls][1](id)
    else:
        raise pickle.UnpickleableError("No external factory for %s.%s#%s" %
                                       (module_name, class_name, id))
 def xmlrpc_run(self, request, binTask):
     try:
         task = pickle.loads(binTask.data)
     except:
         d = defer.fail(pickle.UnpickleableError("Could not unmarshal task"))
     else:
         d = self.taskController.run(task)
     d.addCallback(self.packageSuccess)
     d.addErrback(self.packageFailure)
     return d
Beispiel #3
0
 def remote_run(self, ptask):
     try:
         task = pickle.loads(ptask)
         task.uncan_task()
     except:
         d = defer.fail(pickle.UnpickleableError("Could not unmarshal task"))
     else:
         d = self.taskController.run(task)
     d.addCallback(self.packageSuccess)
     d.addErrback(self.packageFailure)
     return d