Coverage for src/wiktextract/extractor/ko/etymology.py: 97%
19 statements
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-12 08:27 +0000
« prev ^ index » next coverage.py v7.10.6, created at 2025-09-12 08:27 +0000
1from wikitextprocessor.parser import LEVEL_KIND_FLAGS, LevelNode, NodeKind
3from ...page import clean_node
4from ...wxr_context import WiktextractContext
5from .models import WordEntry
8def extract_etymology_section(
9 wxr: WiktextractContext, word_entry: WordEntry, level_node: LevelNode
10) -> None:
11 if len(word_entry.etymology_texts) > 0:
12 word_entry.etymology_texts.clear()
13 word_entry.categories.clear()
15 has_list = False
16 for list_node in level_node.find_child(NodeKind.LIST):
17 has_list = True
18 for list_item in list_node.find_child(NodeKind.LIST_ITEM):
19 text = clean_node(wxr, word_entry, list_item.children)
20 if len(text) > 0: 20 ↛ 18line 20 didn't jump to line 18 because the condition on line 20 was always true
21 word_entry.etymology_texts.append(text)
23 if not has_list:
24 text = clean_node(
25 wxr,
26 word_entry,
27 list(level_node.invert_find_child(LEVEL_KIND_FLAGS)),
28 )
29 if len(text) > 0:
30 word_entry.etymology_texts.append(text)