This commit is contained in:
unkn0w7n 2024-07-26 10:48:05 +05:30
parent 230812bc74
commit 0a567a206a
3 changed files with 41 additions and 4 deletions

View File

@ -1,3 +1,5 @@
#!/usr/bin/env python
# vim:fileencoding=utf-8
from __future__ import print_function
from calibre.web.feeds.news import BasicNewsRecipe
@ -28,6 +30,20 @@ class HuffingtonPostRecipe(BasicNewsRecipe):
no_stylesheets = True
remove_javascript = True
recipe_specific_options = {
'days': {
'short': 'Oldest article to download from this news source. In days ',
'long': 'For example, 0.5, gives you articles from the past 12 hours',
'default': str(oldest_article)
}
}
def __init__(self, *args, **kwargs):
BasicNewsRecipe.__init__(self, *args, **kwargs)
d = self.recipe_specific_options.get('days')
if d and isinstance(d, str):
self.oldest_article = float(d)
keep_only_tags = [
classes('entry__header entry__body')
]

View File

@ -79,9 +79,19 @@ class NewYorker(BasicNewsRecipe):
# img.save(buf, format='JPEG')
# return buf.getvalue()
recipe_specific_options = {
'date': {
'short': 'The date of the edition to download (YYYY/MM/DD format)',
'long': 'For example, 2024/07/08'
}
}
def parse_index(self):
soup = self.index_to_soup(
'https://www.newyorker.com/magazine?intcid=magazine')
issue_url = 'https://www.newyorker.com/magazine?intcid=magazine'
d = self.recipe_specific_options.get('date')
if d and isinstance(d, str):
issue_url = 'https://www.newyorker.com/magazine/' + d
soup = self.index_to_soup(issue_url)
cover_img = soup.find('picture',
attrs={'class': lambda x: x and 'asset-embed__responsive-asset' in x})
if cover_img is not None:

View File

@ -19,7 +19,7 @@ class NewYorkMagazine(BasicNewsRecipe):
title = 'New York Magazine'
__author__ = 'Kovid Goyal'
description = 'Food, culture, arts and entertainment in New York'
language = 'en'
language = 'en_US'
no_stylesheets = True
remove_javascript = True
encoding = 'utf-8'
@ -32,8 +32,19 @@ class NewYorkMagazine(BasicNewsRecipe):
]
remove_attributes = ['srcset']
recipe_specific_options = {
'date': {
'short': 'The date of the edition to download (YYYY-MM-DD format)',
'long': 'For example, 2024-07-01'
}
}
def nymag_get_index(self):
return self.index_to_soup('https://nymag.com/maglinks/nym-home-05')
issue_url = 'https://nymag.com/maglinks/nym-home-05'
d = self.recipe_specific_options.get('date')
if d and isinstance(d, str):
issue_url = 'https://nymag.com/magazine/toc/' + d + '.html'
return self.index_to_soup(issue_url)
def parse_index(self):
soup = self.nymag_get_index()