- return data
-
- def SubmitJob(self, job):
- """Submit a job"""
- result = self.SendRequest(REQ_SUBMIT, SerializeJob(job))
- if not result['success']:
- raise RequestError(result['result'])
- return result['result']
-
- def Query(self, data):
- """Make a query"""
- result = self.SendRequest(REQ_QUERY, data)
- if not result['success']:
- raise RequestError(result[result])
- result = result['result']
- if data["object"] == "jobs":
- # custom job processing of query values
- for row in result:
- for idx, field in enumerate(data["fields"]):
- if field == "op_list":
- row[idx] = [opcodes.OpCode.LoadOpCode(i) for i in row[idx]]
- return result
+
+ if not data[KEY_SUCCESS]:
+ # TODO: decide on a standard exception
+ raise RequestError(data[KEY_RESULT])
+
+ return data[KEY_RESULT]
+
+ def SubmitJob(self, ops):
+ ops_state = map(lambda op: op.__getstate__(), ops)
+ return self.CallMethod(REQ_SUBMIT_JOB, ops_state)
+
+ def CancelJob(self, job_id):
+ return self.CallMethod(REQ_CANCEL_JOB, job_id)
+
+ def ArchiveJob(self, job_id):
+ return self.CallMethod(REQ_ARCHIVE_JOB, job_id)
+
+ def QueryJobs(self, job_ids, fields):
+ return self.CallMethod(REQ_QUERY_JOBS, (job_ids, fields))
+
+# TODO: class Server(object)