Skip to content

Commit 0ea5958

Browse files
Sihem TchabiSihem Tchabi
authored andcommitted
fix(LAB-4210): add skipRebuilds parameter to not rebuild if not needed
1 parent 60806c4 commit 0ea5958

2 files changed

Lines changed: 8 additions & 2 deletions

File tree

src/kili/adapters/kili_api_gateway/label/operations_mixin.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,13 +241,16 @@ def create_honeypot_label(
241241
result = self.graphql_client.execute(query, variables)
242242
return result["data"]
243243

244-
def copy_labels(self, src_asset_id: str, dst_asset_id: str, project_id: str) -> bool:
244+
def copy_labels(
245+
self, src_asset_id: str, dst_asset_id: str, project_id: str, skip_rebuilds: bool
246+
) -> bool:
245247
"""Copy labels from one asset to another."""
246248
variables = {
247249
"data": {
248250
"srcAssetId": src_asset_id,
249251
"dstAssetId": dst_asset_id,
250252
"projectId": project_id,
253+
"skipRebuilds": skip_rebuilds,
251254
},
252255
}
253256
self.graphql_client.execute(GQL_COPY_LABELS, variables)

src/kili/services/copy_project/__init__.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,9 @@ def _copy_labels(self, from_project_id: str, new_project_id: str) -> None:
155155
]
156156
assets_dst_project_map = {asset["externalId"]: asset["id"] for asset in assets_dst_project}
157157

158-
for src_asset in assets_src_project_list:
158+
for i, src_asset in enumerate(assets_src_project_list, start=1):
159+
is_last = i == len(assets_src_project_list)
160+
skip_rebuilds = not is_last
159161
src_asset_id = src_asset["id"]
160162
dst_asset_id = assets_dst_project_map.get(src_asset["externalId"])
161163
if not dst_asset_id:
@@ -167,6 +169,7 @@ def _copy_labels(self, from_project_id: str, new_project_id: str) -> None:
167169
src_asset_id=src_asset_id,
168170
dst_asset_id=dst_asset_id,
169171
project_id=new_project_id,
172+
skip_rebuilds=skip_rebuilds,
170173
)
171174

172175
# pylint: disable=too-many-locals

0 commit comments

Comments
 (0)