diff options
Diffstat (limited to 'archive/2025/summer/bsc_gerg/src/knowledge/occurrence.py')
| -rw-r--r-- | archive/2025/summer/bsc_gerg/src/knowledge/occurrence.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/archive/2025/summer/bsc_gerg/src/knowledge/occurrence.py b/archive/2025/summer/bsc_gerg/src/knowledge/occurrence.py new file mode 100644 index 000000000..0aa1ce209 --- /dev/null +++ b/archive/2025/summer/bsc_gerg/src/knowledge/occurrence.py @@ -0,0 +1,24 @@ +from typing import Annotated, List + +from pydantic import Field + +from src.terminology.terminology import TermExtracted, OccurrenceResolver, OccurrenceResolved + + + +class MockOccurrenceResolver(OccurrenceResolver): + + texts: Annotated[List[str], Field(default_factory=lambda:[ + "Das ist ein Text über den Schrankenwärter", + "Das Gleis ist noch nicht sichern", + "Wir fahren hier eine Sperrfahrt." + "Die Strecke muss man sichern." + ])] + + async def activate(self, event: TermExtracted): + term = event.term + for text in self.texts: + if term.text in text: + source = self.blackboard.add_text_source(text) + term.occurrences.append(source.id) + yield OccurrenceResolved(term=term, source=source) |