mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
update sportstar
This commit is contained in:
parent
b0e1d97af6
commit
3fe8bfd89a
@ -20,12 +20,28 @@ class OpenMagazine(BasicNewsRecipe):
|
|||||||
'blockquote{color:#404040;}'
|
'blockquote{color:#404040;}'
|
||||||
'.about-author{font-size:small;}'
|
'.about-author{font-size:small;}'
|
||||||
|
|
||||||
|
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)
|
||||||
|
|
||||||
def get_cover_url(self):
|
def get_cover_url(self):
|
||||||
soup = self.index_to_soup('https://openthemagazine.com/')
|
d = self.recipe_specific_options.get('days')
|
||||||
tag = soup.find(attrs={'class': 'magazine-item mr-1'})
|
if not (d and isinstance(d, str)):
|
||||||
if tag:
|
soup = self.index_to_soup('https://openthemagazine.com/')
|
||||||
self.cover_url = tag.find('img')['src']
|
tag = soup.find(attrs={'class': 'magazine-item mr-1'})
|
||||||
return getattr(self, 'cover_url', None)
|
if tag:
|
||||||
|
self.cover_url = tag.find('img')['src']
|
||||||
|
return getattr(self, 'cover_url', None)
|
||||||
|
|
||||||
keep_only_tags = [
|
keep_only_tags = [
|
||||||
classes('post-data post-thumb post-meta post-excerp'),
|
classes('post-data post-thumb post-meta post-excerp'),
|
||||||
|
@ -20,7 +20,8 @@ class Reuters(BasicNewsRecipe):
|
|||||||
'reaching billions of people worldwide every day. Reuters provides business, financial, national and international '
|
'reaching billions of people worldwide every day. Reuters provides business, financial, national and international '
|
||||||
'news to professionals via desktop terminals, the world’s media organizations, industry events and directly to consumers.'
|
'news to professionals via desktop terminals, the world’s media organizations, industry events and directly to consumers.'
|
||||||
)
|
)
|
||||||
masthead_url = 'https://www.reutersprofessional.com/wp-content/uploads/2024/03/primary-logo.svg'
|
masthead_url = 'https://www.reutersagency.com/wp-content/uploads/2024/06/reuters-logo.png'
|
||||||
|
cover_url = 'https://yt3.googleusercontent.com/ytc/AIdro_mk43b9eQwN15ZBDyMPDaElxvw4V-oUS9XDUvVnYB3gA9yA=s1024'
|
||||||
language = 'en'
|
language = 'en'
|
||||||
encoding = 'utf-8'
|
encoding = 'utf-8'
|
||||||
oldest_article = 1.2 # days
|
oldest_article = 1.2 # days
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
|
#!/usr/bin/env python
|
||||||
|
# vim:fileencoding=utf-8
|
||||||
from collections import OrderedDict
|
from collections import OrderedDict
|
||||||
|
|
||||||
from calibre.web.feeds.news import BasicNewsRecipe, classes
|
from calibre.web.feeds.news import BasicNewsRecipe, classes
|
||||||
@ -25,6 +27,13 @@ class Sportstar(BasicNewsRecipe):
|
|||||||
.author, .publish-time {font-size:small;}
|
.author, .publish-time {font-size:small;}
|
||||||
'''
|
'''
|
||||||
|
|
||||||
|
recipe_specific_options = {
|
||||||
|
'issue': {
|
||||||
|
'short': 'Enter the Issue Number you want to download\n(Volume-Issue format)',
|
||||||
|
'long': 'For example, 47-16'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
keep_only_tags = [
|
keep_only_tags = [
|
||||||
dict(name='h1', attrs={'class':'title'}),
|
dict(name='h1', attrs={'class':'title'}),
|
||||||
dict(name='h2', attrs={'class':'sub-title'}),
|
dict(name='h2', attrs={'class':'sub-title'}),
|
||||||
@ -39,10 +48,15 @@ class Sportstar(BasicNewsRecipe):
|
|||||||
]
|
]
|
||||||
|
|
||||||
def parse_index(self):
|
def parse_index(self):
|
||||||
soup = self.index_to_soup('https://sportstar.thehindu.com/magazine/')
|
d = self.recipe_specific_options.get('issue')
|
||||||
url = soup.find('a', href=lambda x: x and x.startswith('https://sportstar.thehindu.com/magazine/issue/'))['href']
|
if d and isinstance(d, str):
|
||||||
self.log('Downloading Issue: ', url)
|
issue_url = 'https://sportstar.thehindu.com/magazine/issue/vol' + d
|
||||||
soup = self.index_to_soup(url)
|
else:
|
||||||
|
soup = self.index_to_soup('https://sportstar.thehindu.com/magazine/')
|
||||||
|
issue_url = soup.find('a', href=lambda x: x and x.startswith('https://sportstar.thehindu.com/magazine/issue/'))['href']
|
||||||
|
self.log('Downloading Issue: ', issue_url)
|
||||||
|
|
||||||
|
soup = self.index_to_soup(issue_url)
|
||||||
|
|
||||||
feeds = OrderedDict()
|
feeds = OrderedDict()
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user