Skip to content

Commit

Permalink
refactor: use process properties helper
Browse files Browse the repository at this point in the history
  • Loading branch information
PierreLeveau committed Jun 30, 2023
1 parent d64f72d commit 5b1b1fe
Show file tree
Hide file tree
Showing 2 changed files with 25 additions and 13 deletions.
13 changes: 1 addition & 12 deletions src/kili/entrypoints/mutations/asset/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -292,17 +292,6 @@ def update_properties_in_assets(
properties_to_batch = process_update_properties_in_assets_parameters(parameters)

def generate_variables(batch: Dict) -> Dict:
page_resolutions_array_batch = []
for page_resolution_array in batch["page_resolutions_array"]:
output_page_resolution_array = []
for page_resolution in page_resolution_array:
output_page_resolution_array.append(
page_resolution.as_dict()
if isinstance(page_resolution, PageResolution)
else page_resolution
)
page_resolutions_array_batch.append(output_page_resolution_array)

data = {
"priority": batch["priorities"],
"jsonMetadata": batch["json_metadatas"],
Expand All @@ -315,7 +304,7 @@ def generate_variables(batch: Dict) -> Dict:
"status": batch["status_array"],
"isUsedForConsensus": batch["is_used_for_consensus_array"],
"isHoneypot": batch["is_honeypot_array"],
"pageResolutions": page_resolutions_array_batch,
"pageResolutions": batch["page_resolutions_array"],
}
data_array = [dict(zip(data, t)) for t in zip(*data.values())] # type: ignore
return {
Expand Down
25 changes: 24 additions & 1 deletion src/kili/entrypoints/mutations/asset/helpers.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,10 @@
"""Helpers for the asset mutations."""
from typing import Dict, List, Optional
from typing import Dict, List, Optional, Union

from kili.core.helpers import convert_to_list_of_none, format_metadata, is_none_or_empty
from kili.entrypoints.mutations.helpers import check_asset_identifier_arguments
from kili.services.helpers import infer_ids_from_external_ids
from kili.utils.assets import PageResolution


def process_update_properties_in_assets_parameters(properties) -> Dict:
Expand All @@ -21,16 +22,38 @@ def process_update_properties_in_assets_parameters(properties) -> Dict:
"Should be either a None or a list of None, string, list or dict",
)
properties["json_metadatas"] = formatted_json_metadatas
assert properties["asset_ids"]
nb_assets_to_modify = len(properties["asset_ids"])
properties = {
k: convert_to_list_of_none(v, length=nb_assets_to_modify) for k, v in properties.items()
}
properties["should_reset_to_be_labeled_by_array"] = list(
map(is_none_or_empty, properties["to_be_labeled_by_array"])
)

properties["page_resolutions_array"] = _ensure_page_resolution_dicts(
properties["page_resolutions_array"]
)

return properties


def _ensure_page_resolution_dicts(
page_resolutions_array: Union[List[List[PageResolution]], List[List[Dict]]]
):
page_resolutions_array_batch = []
for page_resolution_array in page_resolutions_array:
output_page_resolution_array = []
for page_resolution in page_resolution_array:
output_page_resolution_array.append(
page_resolution.as_dict()
if isinstance(page_resolution, PageResolution)
else page_resolution
)
page_resolutions_array_batch.append(output_page_resolution_array)
return page_resolutions_array_batch


def get_asset_ids_or_throw_error(
kili,
asset_ids: Optional[List[str]],
Expand Down

0 comments on commit 5b1b1fe

Please sign in to comment.