Coverage for src / wiktextract / extractor / ku / etymology.py: 72%

18 statements  

« prev     ^ index     » next       coverage.py v7.13.0, created at 2025-12-12 08:09 +0000

1from wikitextprocessor import LevelNode, NodeKind, WikiNode 

2 

3from ...page import clean_node 

4from ...wxr_context import WiktextractContext 

5from .models import WordEntry 

6 

7 

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 if len(e_nodes) > 0: 21 ↛ 22line 21 didn't jump to line 22 because the condition on line 21 was never true

22 e_text = clean_node(wxr, word_entry, e_nodes) 

23 if e_text != "": 

24 word_entry.etymology_texts.append(e_text)