From 0e19f6a399ab61deb4ffd2b4267bee32119c25e9 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 27 Dec 2020 12:56:45 +0530 Subject: [PATCH] Use an up-to-date UA when downloading news --- src/calibre/web/feeds/news.py | 4 ++-- src/calibre/web/feeds/recipes/__init__.py | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/src/calibre/web/feeds/news.py b/src/calibre/web/feeds/news.py index b50321332b..a056d512ea 100644 --- a/src/calibre/web/feeds/news.py +++ b/src/calibre/web/feeds/news.py @@ -529,8 +529,8 @@ class BasicNewsRecipe(Recipe): ''' if 'user_agent' not in kwargs: # More and more news sites are serving JPEG XR images to IE - kwargs['user_agent'] = self.last_used_user_agent = getattr( - self, 'last_used_user_agent', None) or random_user_agent(allow_ie=False) + ua = getattr(self, 'last_used_user_agent', None) or self.calibre_most_common_ua or random_user_agent(allow_ie=False) + kwargs['user_agent'] = self.last_used_user_agent = ua self.log('Using user agent:', kwargs['user_agent']) br = browser(*args, **kwargs) br.addheaders += [('Accept', '*/*')] diff --git a/src/calibre/web/feeds/recipes/__init__.py b/src/calibre/web/feeds/recipes/__init__.py index 48277847da..7c765d6b21 100644 --- a/src/calibre/web/feeds/recipes/__init__.py +++ b/src/calibre/web/feeds/recipes/__init__.py @@ -51,10 +51,12 @@ def compile_recipe(src): 'xrange': range, } exec(src, namespace) + ua = namespace.get('calibre_most_common_ua') for x in itervalues(namespace): if (isinstance(x, type) and issubclass(x, BasicNewsRecipe) and x not in basic_recipes): + x.calibre_most_common_ua = ua return x return None