Coverage for src/wiktextract/extractor/cs/example.py: 96%

18 statements  

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

1from wikitextprocessor import HTMLNode, TemplateNode, WikiNode 

2 

3from ...page import clean_node 

4from ...wxr_context import WiktextractContext 

5from ..share import calculate_bold_offsets 

6from .models import Example, Sense 

7 

8 

9def extract_example_list_item( 

10 wxr: WiktextractContext, sense: Sense, list_item: WikiNode 

11): 

12 for node in list_item.children: 

13 if isinstance(node, TemplateNode) and node.template_name == "Příklad": 

14 extract_příklad_template(wxr, sense, node) 

15 elif ( 

16 isinstance(node, HTMLNode) 

17 and node.tag == "ref" 

18 and len(sense.examples) > 0 

19 ): 

20 sense.examples[-1].ref = clean_node(wxr, None, node.children) 

21 

22 

23def extract_příklad_template( 

24 wxr: WiktextractContext, sense: Sense, t_node: TemplateNode 

25): 

26 # https://cs.wiktionary.org/wiki/Šablona:Příklad 

27 second_arg = wxr.wtp.parse( 

28 wxr.wtp.node_to_wikitext(t_node.template_parameters.get(2, "")) 

29 ) 

30 third_arg = wxr.wtp.parse( 

31 wxr.wtp.node_to_wikitext(t_node.template_parameters.get(3, "")) 

32 ) 

33 e_data = Example( 

34 text=clean_node(wxr, None, second_arg), 

35 translation=clean_node(wxr, None, third_arg), 

36 ) 

37 if e_data.text != "": 37 ↛ exitline 37 didn't return from function 'extract_příklad_template' because the condition on line 37 was always true

38 calculate_bold_offsets( 

39 wxr, second_arg, e_data.text, e_data, "bold_text_offsets" 

40 ) 

41 sense.examples.append(e_data)