Skip to content

Commit fbfea6f

Browse files
committed
Mv current update_tags logic to Jobs
1 parent a58d211 commit fbfea6f

File tree

2 files changed

+13
-10
lines changed

2 files changed

+13
-10
lines changed

README.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -460,11 +460,11 @@ To mark a job with tag ``consumed``::
460460

461461
To mark all spider jobs with tag ``consumed``::
462462

463-
>>> spider.update_tags(add=['consumed'])
463+
>>> spider.jobs.update_tags(add=['consumed'])
464464

465465
To remove existing tag ``existing`` for all spider jobs::
466466

467-
>>> spider.update_tags(remove=['existing'])
467+
>>> spider.jobs.update_tags(remove=['existing'])
468468

469469
Modifying tags is available on spider/job levels.
470470

scrapinghub/client.py

Lines changed: 11 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,6 @@ def __init__(self, client, projectid, spiderid, spidername):
129129
self.jobs = Jobs(client, projectid, self)
130130
self._client = client
131131

132-
def update_tags(self, add=None, remove=None):
133-
params = get_tags_for_update(add_tag=add, remove_tag=remove)
134-
if not params:
135-
return
136-
params.update({'project': self.projectid, 'spider': self.name})
137-
result = self._client._connection._post('jobs_update', 'json', params)
138-
return result['count']
139-
140132

141133
class Jobs(object):
142134

@@ -203,6 +195,17 @@ def _extract_spider_id(self, params):
203195
raise ValueError('Please use same spider id')
204196
return spiderid
205197

198+
def update_tags(self, add=None, remove=None, spidername=None):
199+
spidername = spidername or (self.spider.name if self.spider else None)
200+
if not spidername:
201+
raise ValueError('Please provide spidername')
202+
params = get_tags_for_update(add_tag=add, remove_tag=remove)
203+
if not params:
204+
return
205+
params.update({'project': self.projectid, 'spider': spidername})
206+
result = self._client._connection._post('jobs_update', 'json', params)
207+
return result['count']
208+
206209

207210
class Job(object):
208211

0 commit comments

Comments
 (0)