Skip to content

Commit 953f1a3

Browse files
fix: change processed in orphan and group rejections to work as intended
1 parent 9863565 commit 953f1a3

1 file changed

Lines changed: 13 additions & 12 deletions

File tree

  • src/dve/core_engine/backends/base

‎src/dve/core_engine/backends/base/rules.py‎

Lines changed: 13 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -397,14 +397,11 @@ def identify_and_remove_orphans(
397397
def process_node(
398398
node: HierarchyNode,
399399
parent_entity_name: Optional[EntityName],
400-
orph_messages: Messages | None = None,
401-
):
400+
processed: bool = False,
401+
) -> bool:
402402
"""Recursive helper to process a node and its children."""
403403
current_entity_name = node.entity_name
404404

405-
if orph_messages is None:
406-
orph_messages = []
407-
408405
if parent_entity_name is not None:
409406
self.logger.info(f"Identifying orphans in {current_entity_name}")
410407

@@ -427,6 +424,7 @@ def process_node(
427424
self.logger.info(
428425
f"Removing records with missing parent from {current_entity_name}"
429426
)
427+
processed = True
430428
location = list(node.join_fields.values())[0]
431429
with BackgroundMessageWriter(
432430
working_directory=working_directory,
@@ -466,16 +464,17 @@ def process_node(
466464

467465
if node.children:
468466
for child_node in node.children:
469-
process_node(child_node, current_entity_name, orph_messages)
467+
processed = process_node(child_node, current_entity_name, processed)
468+
469+
return processed
470470

471471
processed = False
472472

473473
for root_node in entity_hierarchy.entity_trees.values():
474-
process_node(root_node, parent_entity_name=None)
474+
processed = process_node(root_node, parent_entity_name=None, processed=processed)
475475

476476
_orph_rel = entities.get(ORPHANED_RECORD_ENTITY_NAME)
477477
if _orph_rel is not None:
478-
processed = True
479478
del entities[ORPHANED_RECORD_ENTITY_NAME]
480479

481480
entities.update(entities)
@@ -496,8 +495,8 @@ def identify_and_remove_missing_mandatory_groups(
496495
def process_node(
497496
node: HierarchyNode,
498497
parent_entity_name: Optional[EntityName],
499-
processed: Optional[bool],
500-
):
498+
processed: bool = False,
499+
) -> bool:
501500
"""Recursive helper to process a node and its children."""
502501
current_entity_name = node.entity_name
503502

@@ -548,12 +547,14 @@ def process_node(
548547

549548
if node.children:
550549
for child_node in node.children:
551-
process_node(child_node, current_entity_name, processed)
550+
processed = process_node(child_node, current_entity_name, processed)
551+
552+
return processed
552553

553554
processed = False
554555

555556
for root_node in entity_hierarchy.entity_trees.values():
556-
process_node(root_node, parent_entity_name=None, processed=processed)
557+
processed = process_node(root_node, parent_entity_name=None, processed=processed)
557558

558559
entities.update(entities)
559560

0 commit comments

Comments
 (0)