diff --git a/recipes/1843.recipe b/recipes/1843.recipe index 4b7901f5cd..931f4da6d9 100644 --- a/recipes/1843.recipe +++ b/recipes/1843.recipe @@ -21,6 +21,13 @@ def process_list(li_node): return li_html +def process_info_box(bx): + info = '' + for x in safe_dict(bx, 'components'): + info += f'
{process_web_node(x)}' + return info + + def process_node(node): ntype = node.get('type', '') if ntype == 'CROSSHEAD': @@ -48,8 +55,7 @@ def process_node(node): if node.get('fallback'): return process_node(node['fallback']) elif ntype == 'INFOBOX': - for x in safe_dict(node, 'components'): - return f'
{process_node(x)}' + return process_info_box(node) elif ntype == 'UNORDERED_LIST': if node.get('items'): return process_list(node) diff --git a/recipes/economist.recipe b/recipes/economist.recipe index a22fe21969..6cbed35d6d 100644 --- a/recipes/economist.recipe +++ b/recipes/economist.recipe @@ -85,6 +85,7 @@ def load_article_from_json(raw, root): for node in data.get('text') or (): process_node(node, article) + def process_web_list(li_node): li_html = '' for li in li_node['items']: @@ -94,6 +95,14 @@ def process_web_list(li_node): li_html += f'
{process_web_node(x)}' + return info + + def process_web_node(node): ntype = node.get('type', '') if ntype == 'CROSSHEAD': @@ -121,8 +130,7 @@ def process_web_node(node): if node.get('fallback'): return process_web_node(node['fallback']) elif ntype == 'INFOBOX': - for x in safe_dict(node, 'components'): - return f'
{process_web_node(x)}' + return process_info_box(node) elif ntype == 'UNORDERED_LIST': if node.get('items'): return process_web_list(node) diff --git a/recipes/economist_free.recipe b/recipes/economist_free.recipe index a22fe21969..6cbed35d6d 100644 --- a/recipes/economist_free.recipe +++ b/recipes/economist_free.recipe @@ -85,6 +85,7 @@ def load_article_from_json(raw, root): for node in data.get('text') or (): process_node(node, article) + def process_web_list(li_node): li_html = '' for li in li_node['items']: @@ -94,6 +95,14 @@ def process_web_list(li_node): li_html += f'
{process_web_node(x)}' + return info + + def process_web_node(node): ntype = node.get('type', '') if ntype == 'CROSSHEAD': @@ -121,8 +130,7 @@ def process_web_node(node): if node.get('fallback'): return process_web_node(node['fallback']) elif ntype == 'INFOBOX': - for x in safe_dict(node, 'components'): - return f'
{process_web_node(x)}' + return process_info_box(node) elif ntype == 'UNORDERED_LIST': if node.get('items'): return process_web_list(node) diff --git a/recipes/economist_search.recipe b/recipes/economist_search.recipe index 0a3725bfcc..fd27399cce 100644 --- a/recipes/economist_search.recipe +++ b/recipes/economist_search.recipe @@ -22,6 +22,12 @@ def process_list(li_node): return li_html +def process_info_box(bx): + info = '' + for x in safe_dict(bx, 'components'): + info += f'
{process_web_node(x)}' + return info + def process_node(node): ntype = node.get('type', '') if ntype == 'CROSSHEAD': @@ -49,8 +55,7 @@ def process_node(node): if node.get('fallback'): return process_node(node['fallback']) elif ntype == 'INFOBOX': - for x in safe_dict(node, 'components'): - return f'
{process_node(x)}' + return process_info_box(node) elif ntype == 'UNORDERED_LIST': if node.get('items'): return process_list(node) diff --git a/recipes/economist_world_ahead.recipe b/recipes/economist_world_ahead.recipe index 3c9c39fb6e..0adab83a48 100644 --- a/recipes/economist_world_ahead.recipe +++ b/recipes/economist_world_ahead.recipe @@ -22,6 +22,13 @@ def process_list(li_node): return li_html +def process_info_box(bx): + info = '' + for x in safe_dict(bx, 'components'): + info += f'
{process_web_node(x)}' + return info + + def process_node(node): ntype = node.get('type', '') if ntype == 'CROSSHEAD': @@ -49,8 +56,7 @@ def process_node(node): if node.get('fallback'): return process_node(node['fallback']) elif ntype == 'INFOBOX': - for x in safe_dict(node, 'components'): - return f'
{process_node(x)}' + return process_info_box(node) elif ntype == 'UNORDERED_LIST': if node.get('items'): return process_list(node)