From f6e75918727bf1e11985abde81b381482cddf0f4 Mon Sep 17 00:00:00 2001 From: unkn0w7n <51942695+unkn0w7n@users.noreply.github.com> Date: Sun, 16 Mar 2025 12:08:42 +0530 Subject: [PATCH] ... --- recipes/1843.recipe | 10 ++++++++-- recipes/economist.recipe | 12 ++++++++++-- recipes/economist_free.recipe | 12 ++++++++++-- recipes/economist_search.recipe | 9 +++++++-- recipes/economist_world_ahead.recipe | 10 ++++++++-- 5 files changed, 43 insertions(+), 10 deletions(-) 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'
  • {li.get("text", "")}
  • ' 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_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'
  • {li.get("text", "")}
  • ' 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_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)