Coverage for src/wiktextract/extractor/ku/etymology.py: 82%
19 statements
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-03 06:55 +0000
« prev ^ index » next coverage.py v7.14.1, created at 2026-06-03 06:55 +0000
1from wikitextprocessor import LevelNode, NodeKind, WikiNode
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):
11 # https://ku.wiktionary.org/wiki/Wîkîferheng:Etîmolojî
12 e_nodes = []
13 for node in level_node.children:
14 if isinstance(node, LevelNode): 14 ↛ 15line 14 didn't jump to line 15 because the condition on line 14 was never true
15 break
16 elif isinstance(node, WikiNode) and node.kind == NodeKind.LIST:
17 for list_item in node.find_child(NodeKind.LIST_ITEM):
18 e_text = clean_node(wxr, word_entry, list_item.children)
19 if e_text != "": 19 ↛ 17line 19 didn't jump to line 17 because the condition on line 19 was always true
20 word_entry.etymology_texts.append(e_text)
21 else:
22 e_nodes.append(node)
23 if len(e_nodes) > 0: 23 ↛ exitline 23 didn't return from function 'extract_etymology_section' because the condition on line 23 was always true
24 e_text = clean_node(wxr, word_entry, e_nodes)
25 if e_text != "": 25 ↛ 26line 25 didn't jump to line 26 because the condition on line 25 was never true
26 word_entry.etymology_texts.append(e_text)