Skip to content

Commit 725a0f2

Browse files
committed
Merge activity post() logic into add()
1 parent 3f723b3 commit 725a0f2

File tree

2 files changed

+15
-13
lines changed

2 files changed

+15
-13
lines changed

scrapinghub/client.py

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1040,15 +1040,16 @@ def __init__(self, *args, **kwargs):
10401040
self._proxy_methods([('iter', 'list')])
10411041
self._wrap_iter_methods(['iter'])
10421042

1043-
def add(self, *args, **kwargs):
1044-
entry = dict(*args, **kwargs)
1045-
return self.post(entry)
1046-
1047-
def post(self, _value, **kwargs):
1048-
jobkey = _value.get('job') or kwargs.get('job')
1049-
if jobkey and parse_job_key(jobkey).projectid != self.key:
1050-
raise ValueError('Please use same project id')
1051-
self._origin.post(_value, **kwargs)
1043+
def add(self, values, **kwargs):
1044+
if not isinstance(values, list):
1045+
values = list(values)
1046+
for activity in values:
1047+
if not isinstance(activity, dict):
1048+
raise ValueError("Please pass events as dictionaries")
1049+
jobkey = activity.get('job')
1050+
if jobkey and parse_job_key(jobkey).projectid != self.key:
1051+
raise ValueError('Please use same project id')
1052+
self._origin.post(values, **kwargs)
10521053

10531054

10541055
class Collections(_Proxy):

tests/client/test_proxy.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -272,14 +272,15 @@ def test_items_list(spider):
272272
def _add_test_activity(project):
273273
activity = project.activity
274274
jobkey = TEST_PROJECT_ID + '/2/3'
275-
activity.add(event='job:completed', job=jobkey, user='jobrunner')
276-
activity.add(event='job:cancelled', job=jobkey, user='john')
275+
events = [{'event': 'job:completed', 'job': jobkey, 'user': 'jobrunner'},
276+
{'event': 'job:cancelled', 'job': jobkey, 'user': 'john'}]
277+
activity.add(events)
277278

278279

279280
def test_activity_wrong_project(project):
281+
event = {'event': 'job:completed', 'job': '123/1/1', 'user': 'user'}
280282
with pytest.raises(ValueError):
281-
project.activity.add(event='job:completed',
282-
job='123/1/1', user='user')
283+
project.activity.add(event)
283284

284285

285286
def test_activity_iter(project):

0 commit comments

Comments
 (0)