Skip to content

Commit b964202

Browse files
committed
Return prevstate for job.update and derivatives
1 parent 49c7556 commit b964202

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

scrapinghub/client.py

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -237,20 +237,24 @@ def purge(self):
237237
self.metadata.expire()
238238

239239
def start(self, **params):
240-
return self._project.jobq.start(self, **params)
240+
return self.update(state='running', **params)
241+
242+
def finish(self, **params):
243+
return self.update(state='finished', **params)
244+
245+
def delete(self, **params):
246+
return self.update(state='deleted', **params)
241247

242248
def update(self, **params):
243-
return self._project.jobq.update(self, **params)
249+
try:
250+
job = next(self._project.jobq.update(self, **params))
251+
return job['prevstate']
252+
except StopIteration:
253+
raise NotFound("Job {} doesn't exist".format(self.key))
244254

245255
def cancel(self):
246256
self._project.jobq.request_cancel(self)
247257

248-
def finish(self, **params):
249-
return self._project.jobq.finish(self, **params)
250-
251-
def delete(self, **params):
252-
return self._project.jobq.delete(self, **params)
253-
254258

255259
class _Proxy(object):
256260
"""A proxy to create a class instance and proxy its methods to origin"""

0 commit comments

Comments
 (0)