From 77a1e632a2084ca28fbaa46955dca2ce1c29b782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=20Kav=C4=8Di=C4=8D?= Date: Sat, 5 Feb 2022 11:14:42 +0100 Subject: [PATCH 1/3] add multiple hw comps in mw examlpe --- src/message/ske_messages.py | 39 ++++++++++++++++++++------- src/model/example/component_lexeme.py | 1 + 2 files changed, 31 insertions(+), 9 deletions(-) diff --git a/src/message/ske_messages.py b/src/message/ske_messages.py index feaf144..010d69e 100644 --- a/src/message/ske_messages.py +++ b/src/message/ske_messages.py @@ -273,18 +273,39 @@ class SkeInsert(DataChgClickMessage): new_example.inner.cluster = ExampleClusters.first_empty_cluster() lex_left = ComponentLexeme() - lex_left.text = example["left"] - lex_left.role = None - - lex_mid = ComponentLexeme() - lex_mid.text = example["mid"] - lex_mid.role = "headword" - + lex_left.text = example["left"].strip() + lex_left.role = None + if lex_left.text != '' and lex_left.text != None: + lex_left.text += ' ' + lex_right = ComponentLexeme() - lex_right.text = example["right"] + lex_right.text = example["right"].strip() lex_right.role = None + + if lex_right.text is not None and len(lex_right.text) > 0 and lex_right.text[0] not in ['.', ',', '!', '?', ';']: + lex_right.text = ' ' + lex_right.text - new_example.components.extend([lex_left, lex_mid, lex_right]) + lex_mid = [] + if len(example['mid'].strip().split(' ')) == 1: + lex_comp = ComponentLexeme() + lex_comp.text = example["mid"] + lex_comp.role = "headword" + lex_mid.append(lex_comp) + else: + for lex in example['mid'].strip().split(' '): + lex_comp = ComponentLexeme() + lex_comp.text = lex + lex_comp.role = "headword" + lex_mid.append(lex_comp) + lex_comp = ComponentLexeme() + lex_comp.text = ' ' + lex_comp.role = None + lex_mid.append(lex_comp) + lex_mid.pop(-1) + + new_example.components.append(lex_left) + new_example.components.extend(lex_mid) + new_example.components.append(lex_right) return new_example def _as_multiword_example(self, example): diff --git a/src/model/example/component_lexeme.py b/src/model/example/component_lexeme.py index 0f0c78e..09da307 100644 --- a/src/model/example/component_lexeme.py +++ b/src/model/example/component_lexeme.py @@ -11,6 +11,7 @@ class ComponentLexeme(Data): self.text = "" self.role = "" self.no_space = False + self.multiword = False def import_xml(self, xml): if xml.nodeName == "#text": -- 2.36.5 From 60f70b60b778d93dedd08c4b42ff079be6b27749 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=20Kav=C4=8Di=C4=8D?= Date: Wed, 16 Feb 2022 18:07:14 +0100 Subject: [PATCH 2/3] add multiple hw comps in mw colocation --- src/message/ske_messages.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/message/ske_messages.py b/src/message/ske_messages.py index 010d69e..0680930 100644 --- a/src/message/ske_messages.py +++ b/src/message/ske_messages.py @@ -318,7 +318,7 @@ class SkeInsert(DataChgClickMessage): new_collocation.inner.other_attributes["frequency"] = example.frequency new_collocation.inner.type = "collocation" - headword = document.getElementById("ske-search").value + headword = document.getElementById("ske-search").value lexemes = [] structure_name = example.structure_name.split("-") gramrel = example.gramrel.split("_") @@ -351,8 +351,12 @@ class SkeInsert(DataChgClickMessage): lex.text = structure[i] lex.role = "other" elif structure[i][0] in ["S", "G", "P", "R"]: - lex.text = headword - lex.role = "headword" + for hw in headword.split(" "): + lex = ComponentLexeme() + lex.text = hw + lex.role = "headword" + lexemes.append(lex) + lexemes.pop(-1) else: lex.text = example.word lex.role = "collocate" -- 2.36.5 From af9e2baa4816114558525b203910f5f9f1ef2204 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luka=20Kav=C4=8Di=C4=8D?= Date: Wed, 16 Feb 2022 18:14:31 +0100 Subject: [PATCH 3/3] cleanup --- src/model/example/component_lexeme.py | 1 - 1 file changed, 1 deletion(-) diff --git a/src/model/example/component_lexeme.py b/src/model/example/component_lexeme.py index 09da307..0f0c78e 100644 --- a/src/model/example/component_lexeme.py +++ b/src/model/example/component_lexeme.py @@ -11,7 +11,6 @@ class ComponentLexeme(Data): self.text = "" self.role = "" self.no_space = False - self.multiword = False def import_xml(self, xml): if xml.nodeName == "#text": -- 2.36.5