Skip to content

Commit 9269109

Browse files
fix: copying label copy all existing predictions
1 parent dbcfde0 commit 9269109

File tree

1 file changed

+16
-4
lines changed

1 file changed

+16
-4
lines changed

src/kili/services/copy_project/__init__.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -286,22 +286,34 @@ def _copy_labels(self, from_project_id: str, new_project_id: str) -> None:
286286
],
287287
disable_tqdm=True,
288288
)
289-
labels = [label for label in labels if label["isLatestLabelForUser"]]
289+
labels = [
290+
label for label in labels if (label["isLatestLabelForUser"] or label.get("modelName"))
291+
]
290292

291293
# `append_labels` does not take arrays for `model_name` and `label_type` arguments
292294
# we need to sort and group the labels by `model_name` and `label_type`
293295
# and upload the grouped labels by batch to `append_labels`
294296
labels = sorted(
295297
labels,
296-
key=lambda label: (label["labelType"], label["modelName"] is None, label["modelName"]),
298+
key=lambda label: (
299+
label["labelType"],
300+
label["modelName"] is None,
301+
label["isLatestLabelForUser"],
302+
label["modelName"],
303+
),
297304
)
298305
labels_iterator = itertools.groupby(
299306
labels,
300-
key=lambda label: (label["labelType"], label["modelName"] is None, label["modelName"]),
307+
key=lambda label: (
308+
label["labelType"],
309+
label["modelName"] is None,
310+
label["isLatestLabelForUser"],
311+
label["modelName"],
312+
),
301313
)
302314

303315
for key, group in labels_iterator:
304-
label_type, _, model_name = key
316+
label_type, _, _, model_name = key
305317
group = list(group)
306318

307319
# map external id of source project asset to

0 commit comments

Comments
 (0)