Skip to content

Commit e342669

Browse files
committed
rebase to develop branch and fixing granular service back to develop branch
1 parent 4f1e5f8 commit e342669

File tree

1 file changed

+20
-15
lines changed

1 file changed

+20
-15
lines changed

lib/idp_common_pkg/idp_common/assessment/granular_service.py

Lines changed: 20 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -738,10 +738,6 @@ def _process_assessment_task(
738738
logger.warning(
739739
f"Failed to extract geometry data for task {task.task_id}: {str(e)}"
740740
)
741-
task_failed = True
742-
error_messages.append(
743-
f"Failed to extract geometry data for task {task.task_id}"
744-
)
745741
# Continue with assessment even if geometry extraction fails
746742

747743
# Check for confidence threshold alerts
@@ -1019,7 +1015,6 @@ def _get_text_confidence_data(self, page) -> str:
10191015
f"Failed to generate text confidence data for page {page.page_id}: {str(e)}"
10201016
)
10211017
raise
1022-
10231018
return ""
10241019

10251020
def _convert_bbox_to_geometry(
@@ -1096,8 +1091,6 @@ def _process_single_assessment_geometry(
10961091
f"Failed to process bounding box for {attr_name}: {str(e)}"
10971092
)
10981093
raise
1099-
1100-
11011094
else:
11021095
# If only one of bbox/page exists, log a warning about incomplete data
11031096
if "bbox" in attr_assessment and "page" not in attr_assessment:
@@ -1448,16 +1441,15 @@ def process_document_section(self, document: Document, section_id: str) -> Docum
14481441
)
14491442
logger.info(f"error_message: {error_message}")
14501443
if error_message:
1451-
logger.error(f"** Error: {error_message}")
1452-
logger.error(f"** Error: {error_message}")
1444+
logger.error(f"Error: {error_message}")
14531445
document.status = Status.FAILED
14541446
document.errors.append(error_message)
14551447

14561448
# Add task errors to document errors
14571449
task_errors = [t.error_message for t in failed_tasks if t.error_message]
14581450
if task_errors:
14591451
error_msg = self._convert_error_list_to_string(task_errors)
1460-
logger.error(f"*** Task Error: {error_message}")
1452+
logger.error(f"Task Error: {error_message}")
14611453
document.status = Status.FAILED
14621454
document.errors.append(error_msg)
14631455

@@ -1500,7 +1492,6 @@ def process_document_section(self, document: Document, section_id: str) -> Docum
15001492
logger.error(error_msg)
15011493
document.status = Status.FAILED
15021494
document.errors.append(error_msg)
1503-
15041495
return document
15051496

15061497
def assess_document(self, document: Document) -> Document:
@@ -1539,18 +1530,32 @@ def _handle_parsing_errors(
15391530
token_warning = check_token_limit(
15401531
document_text, extraction_results, self.config
15411532
)
1533+
logger.info(f"Token Warning: {token_warning}")
15421534
error_count = len(failed_tasks)
15431535
base_msg = f"Assessment failed for {error_count} tasks. "
15441536
if token_warning:
15451537
return base_msg + token_warning
15461538
else:
15471539
return None
15481540

1549-
def _convert_error_list_to_string(self, errors: List[str]) -> str:
1541+
def is_parsing_error(self, error_message: str) -> bool:
1542+
"""Check if an error message is related to parsing issues."""
1543+
parsing_errors = ["parsing"]
1544+
return any(error.lower() in error_message.lower() for error in parsing_errors)
1545+
1546+
def _convert_error_list_to_string(self, errors) -> str:
15501547
"""Convert list of error messages to a single user-friendly string."""
15511548
if not errors:
15521549
return ""
15531550

1551+
# Handle single string input
1552+
if isinstance(errors, str):
1553+
return errors
1554+
1555+
# Ensure we have a list of strings
1556+
if not isinstance(errors, list):
1557+
return str(errors)
1558+
15541559
# Count different types of errors
15551560
parsing_errors = [e for e in errors if "parsing" in e.lower()]
15561561
other_errors = [e for e in errors if "parsing" not in e.lower()]
@@ -1563,8 +1568,8 @@ def _convert_error_list_to_string(self, errors: List[str]) -> str:
15631568
)
15641569
elif len(errors) > 5:
15651570
# Multiple errors - show first few and summarize
1566-
first_errors = "; ".join(errors[:3])
1567-
return f"{first_errors}... and {len(errors) - 3} more errors"
1571+
first_errors = "; ".join(errors[:1])
1572+
return f"{first_errors} and {len(errors) - 1} more errors"
15681573
else:
15691574
# Few errors - show all
1570-
return "; ".join(errors)
1575+
return "; ".join(errors)

0 commit comments

Comments
 (0)