From d6d5f356fd038a80c527f0e9f34deda683f9b70e Mon Sep 17 00:00:00 2001 From: unkn0w7n <51942695+unkn0w7n@users.noreply.github.com> Date: Sat, 14 Sep 2024 18:57:46 +0530 Subject: [PATCH] Update espresso images too large. --- recipes/economist_espresso.recipe | 7 +++++++ recipes/economist_world_ahead.recipe | 16 ++++++++++++++-- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/recipes/economist_espresso.recipe b/recipes/economist_espresso.recipe index cde736a14f..1ce7acdc6e 100644 --- a/recipes/economist_espresso.recipe +++ b/recipes/economist_espresso.recipe @@ -1,3 +1,4 @@ +#!/usr/bin/env python ''' https://www.economist.com/the-world-in-brief ''' @@ -196,6 +197,12 @@ class Espresso(BasicNewsRecipe): ans.append({"title": title, "url": url}) return [('Espresso', ans)] + def preprocess_html(self, soup): + for img in soup.findAll('img', src=True): + img['src'] = img['src'].replace('economist.com/', + 'economist.com/cdn-cgi/image/width=600,quality=80,format=auto/') + return soup + def populate_article_metadata(self, article, soup, first): article.url = soup.find('h1')['title'] diff --git a/recipes/economist_world_ahead.recipe b/recipes/economist_world_ahead.recipe index 5646b32538..c3000fc320 100644 --- a/recipes/economist_world_ahead.recipe +++ b/recipes/economist_world_ahead.recipe @@ -197,6 +197,14 @@ class Economist(BasicNewsRecipe): # downloaded with connection reset by peer (104) errors. delay = 2 + recipe_specific_options = { + 'res': { + 'short': 'For hi-res images, select a resolution from the\nfollowing options: 834, 960, 1096, 1280, 1424', + 'long': 'This is useful for non e-ink devices, and for a lower file size\nthan the default, use from 480, 384, 360, 256.', + 'default': '600' + } + } + needs_subscription = False def get_browser(self, *args, **kwargs): @@ -269,9 +277,13 @@ class Economist(BasicNewsRecipe): article.url = soup.find('h1')['title'] def preprocess_html(self, soup): + width = '600' + w = self.recipe_specific_options.get('res') + if w and isinstance(w, str): + width = w for img in soup.findAll('img', src=True): - img['src'] = img['src'].replace('economist.com/', - 'economist.com/cdn-cgi/image/width=600,quality=80,format=auto/') + qua = 'economist.com/cdn-cgi/image/width=' + width + ',quality=80,format=auto/' + img['src'] = img['src'].replace('economist.com/', qua) return soup else: # Load articles from individual article pages {{{