From b79ef678d2085acac2dd548e1acaad6f8a9895ae Mon Sep 17 00:00:00 2001 From: ALON HALFON Date: Tue, 15 Aug 2023 11:36:07 +0300 Subject: [PATCH] fix(backend): user labels are not presented on doc view --- label_sleuth/app_utils.py | 2 +- label_sleuth/data_access/core/data_structs.py | 2 +- label_sleuth/data_access/file_based/file_based_data_access.py | 3 ++- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/label_sleuth/app_utils.py b/label_sleuth/app_utils.py index e52f05e3..fac8e1c0 100644 --- a/label_sleuth/app_utils.py +++ b/label_sleuth/app_utils.py @@ -77,7 +77,7 @@ def elements_back_to_front(workspace_id: str, elements: List[Union[TextElement, 'begin': text_element.span[0][0], 'end': text_element.span[0][1], 'text': text_element.text, - 'user_labels': {} if type(text_element)==TextElement else {k: str(v.label).lower() + 'user_labels': {} if type(text_element)==TextElement or text_element.category_to_label is None else {k: str(v.label).lower() # TODO current UI is using true and false as strings. change to boolean in the new UI for k, v in text_element.category_to_label.items()}, 'model_predictions': {} diff --git a/label_sleuth/data_access/core/data_structs.py b/label_sleuth/data_access/core/data_structs.py index 79097463..8ae6bf84 100644 --- a/label_sleuth/data_access/core/data_structs.py +++ b/label_sleuth/data_access/core/data_structs.py @@ -62,7 +62,7 @@ def get_field_names(cls): @dataclass class LabeledTextElement(TextElement): - category_to_label: Mapping[int, Label] + category_to_label: Mapping[int, Label] = None @dataclass diff --git a/label_sleuth/data_access/file_based/file_based_data_access.py b/label_sleuth/data_access/file_based/file_based_data_access.py index 00b376ec..7fe4fde5 100644 --- a/label_sleuth/data_access/file_based/file_based_data_access.py +++ b/label_sleuth/data_access/file_based/file_based_data_access.py @@ -32,7 +32,7 @@ from typing import Sequence, Iterable, Mapping, List, Union, Set import label_sleuth.data_access.file_based.utils as utils -from label_sleuth.data_access.core.data_structs import Document, Label, TextElement, LabelType +from label_sleuth.data_access.core.data_structs import Document, Label, TextElement, LabelType, LabeledTextElement from label_sleuth.data_access.data_access_api import DataAccessApi, AlreadyExistsException, DocumentStatistics, \ LabeledStatus, BadDocumentNamesException, DocumentNameTooLongException, get_document_id, DocumentNameEmptyException from label_sleuth.data_access.file_based.utils import get_dataset_name_from_uri @@ -558,6 +558,7 @@ def _add_sentences_to_dataset_in_memory(self, dataset_name, text_elements: Itera def _add_labels_info_for_text_elements(self, workspace_id, dataset_name, text_elements: List[TextElement], label_types): labels_info_for_workspace = self._get_labels(workspace_id, dataset_name) + text_elements[:] = [LabeledTextElement(**vars(text_element)) for text_element in text_elements] for elem in text_elements: if elem.uri in labels_info_for_workspace: if label_types is None: