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
« prev ^ index » next coverage.py v7.10.7, created at 2025-10-13 10:14 +0000
1from wikitextprocessor import HTMLNode, TemplateNode, WikiNode
3from ...page import clean_node
4from ...wxr_context import WiktextractContext
5from ..share import calculate_bold_offsets
6from .models import Example, Sense
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)
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)