diff --git a/lib/cli.py b/lib/cli.py index c3780380b0c3e5607462c7033ef7a1a41273eb91..31bc0b7ccb49d419b8b41e6d84ef03139766763e 100644 --- a/lib/cli.py +++ b/lib/cli.py @@ -391,17 +391,13 @@ def SubmitOpCode(op, proc=None, feedback_fn=None): def SubmitJob(job, cl=None): if cl is None: cl = luxi.Client() - jid = cl.SubmitJob(job) - return jid + return cl.SubmitJob(job) def SubmitQuery(data, cl=None): if cl is None: cl = luxi.Client() - result = cl.Query(data) - if not result['success']: - raise ValueError(result) - return result['result'] + return cl.Query(data) def FormatError(err): diff --git a/lib/luxi.py b/lib/luxi.py index 785543467f4b130e4d18509c3d70fa934866cb87..5944a43d44d01d9bff89aa0dd0e5d0ed18e838c1 100644 --- a/lib/luxi.py +++ b/lib/luxi.py @@ -244,6 +244,10 @@ class Client(object): data = simplejson.loads(result) except Exception, err: raise ProtocolError("Error while deserializing response: %s" % str(err)) + if (not isinstance(data, dict) or + 'success' not in data or + 'result' not in data): + raise DecodingError("Invalid response from server: %s" % str(data)) return data def SubmitJob(self, job):