Skip to content

Commit 5f606f9

Browse files
committed
Adding assignment-IDs to plagiarism update-batch endpoint call.
1 parent 9f62b26 commit 5f606f9

2 files changed

Lines changed: 31 additions & 9 deletions

File tree

recodex/api.py

Lines changed: 16 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -365,7 +365,8 @@ def create_shadow_assignment_points(self, assignment_id, user_id, points,
365365

366366
def update_shadow_assignment_points(self, points_id, points, note,
367367
awarded_at=None):
368-
return self.post("/shadow-assignments/points/{}".format(points_id), data={
368+
return self.post("/shadow-assignments/points/{}".format(points_id),
369+
data={
369370
'points': points,
370371
'note': note,
371372
'awardedAt': awarded_at,
@@ -377,13 +378,23 @@ def delete_shadow_assignment_points(self, points_id):
377378
# Plagiarisms
378379

379380
def create_plagiarism_batch(self, tool, tool_params=None):
380-
return self.post('/plagiarism', data={"detectionTool": tool, "detectionToolParams": tool_params})
381+
return self.post('/plagiarism', data={
382+
"detectionTool": tool,
383+
"detectionToolParams": tool_params,
384+
})
381385

382-
def update_plagiarism_batch(self, id, upload_completed):
383-
return self.post('/plagiarism/{}'.format(id), data={"uploadCompleted": upload_completed})
386+
def update_plagiarism_batch(self, id, upload_completed=None,
387+
assignments=None):
388+
data = {}
389+
if upload_completed is not None:
390+
data["uploadCompleted"] = upload_completed
391+
if assignments is not None:
392+
data["assignments"] = assignments
393+
return self.post('/plagiarism/{}'.format(id), data=data)
384394

385395
def add_plagiarism_detected_similarity(self, id, solution_id, data):
386-
return self.post('/plagiarism/{}/{}'.format(id, solution_id), data=data)
396+
return self.post('/plagiarism/{}/{}'.format(id, solution_id),
397+
data=data)
387398

388399
# Misc
389400

recodex/plugins/plagiarisms/cli.py

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,13 +28,24 @@ def create_batch(api: ApiClient, tool, tool_params):
2828

2929
@cli.command()
3030
@click.argument("id")
31-
@click.option("--upload-completed/--upload-reopen", "completed", default=True)
31+
@click.option("--upload-completed/--upload-reopen", "completed", default=None)
32+
@click.option("--assignments", "assignments", is_flag=True)
3233
@pass_api_client
33-
def update_batch(api: ApiClient, id, completed):
34+
def update_batch(api: ApiClient, id, completed, assignments):
3435
"""
35-
Update a plagiarism detection batch (whether its upload has been completed)
36+
Update a plagiarism detection batch (whether its upload has been completed).
37+
Mark assignments as checked by the batch.
3638
"""
37-
api.update_plagiarism_batch(id, completed)
39+
ids = None
40+
if assignments:
41+
ids = []
42+
data = sys.stdin.read()
43+
for token in data.split():
44+
token = token.strip()
45+
if token:
46+
ids.append(token)
47+
48+
api.update_plagiarism_batch(id, completed, ids)
3849

3950

4051
@cli.command()

0 commit comments

Comments
 (0)