Coverage for src/wiktextract/extractor/th/etymology.py: 100%

12 statements  

« prev     ^ index     » next       coverage.py v7.10.7, created at 2025-10-13 10:14 +0000

1from wikitextprocessor.parser import ( 

2 LEVEL_KIND_FLAGS, 

3 LevelNode, 

4 TemplateNode, 

5 WikiNode, 

6) 

7 

8from ...page import clean_node 

9from ...wxr_context import WiktextractContext 

10from .models import WordEntry 

11 

12 

13def extract_etymology_section( 

14 wxr: WiktextractContext, base_data: WordEntry, level_node: LevelNode 

15) -> None: 

16 e_nodes = [] 

17 for node in level_node.children: 

18 if not ( 

19 (isinstance(node, WikiNode) and node.kind in LEVEL_KIND_FLAGS) 

20 or ( 

21 isinstance(node, TemplateNode) 

22 and node.template_name in ["ja-see", "ja-see-kango"] 

23 ) 

24 ): 

25 e_nodes.append(node) 

26 

27 e_str = clean_node(wxr, base_data, e_nodes) 

28 if e_str != "": 

29 base_data.etymology_text = e_str