Implement entity validation logic in validate service

pull/69/head
Jaronim Pracht 2025-06-14 18:15:35 +02:00
parent 98db06e145
commit 5f69a52764
2 changed files with 47 additions and 11 deletions

View File

@ -1,12 +1,46 @@
from typing import Dict, List
def validate_entities(entities):
return entities
#todo
valid = []
for entity in entities:
if entity["type"] == "PERSON":
if entity["name"] == "John Doe":
valid.append(entity)
elif entity["type"] == "ORG":
if entity["name"] == "Exxeta":
valid.append(entity)
return valid
result = []
reduced_kpi: Dict[str, List[Dict[str, str | int]]] = {}
for item in entities:
label = item["label"]
if label not in reduced_kpi:
reduced_kpi[label] = []
reduced_kpi[label].append(item)
for item in reduced_kpi.items():
if item[0] == "FONDSNAME":
result.extend(item[1])
continue
elif item[0] == "DATUM":
result.extend(item[1])
continue
elif item[0] == "FONDSMANAGER":
result.extend(item[1])
continue
validated = False
for entity in item[1]:
if entity["status"] == "validated":
validated = True
if validated:
item_list = [x for x in item[1] if x["status"] == "validated"]
result.extend(item_list)
else:
result.extend(item[1])
return result
if __name__ == "__main__":
entities = [
{"label": "PERSON", "entity": "John Doe", "status": "validated"},
{"label": "PERSON", "entity": "Exxeta", "status": "invalid"},
{"label": "ORG", "entity": "Google", "status": "invalid"},
{"label": "FONDSNAME", "entity": "Microsoft", "status": "validated"},
{"label": "FONDSNAME", "entity": "Amazon", "status": "invalid"},
{"label": "FONDSNAME", "entity": "Apple", "status": "invalid"}
]
print(validate_entities(entities))

View File

@ -91,6 +91,7 @@ function ExtractedResultsPage() {
} else {
const index = Number.parseInt(value);
setSelectedIndex(index);
setCurrentPage(kpiValues[index].page);
setCustomValue("");
}
};
@ -104,6 +105,7 @@ function ExtractedResultsPage() {
};
const handleRowClick = (index: number) => {
setCurrentPage(kpiValues[index].page);
setSelectedIndex(index);
setCustomValue("");
};