mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Merge branch 'master' of https://github.com/smipi1/calibre
This commit is contained in:
commit
d1572df28b
@ -12,6 +12,7 @@ import re
|
|||||||
import sys
|
import sys
|
||||||
|
|
||||||
from calibre.web.feeds.news import BasicNewsRecipe
|
from calibre.web.feeds.news import BasicNewsRecipe
|
||||||
|
from calibre.utils.date import now as nowf
|
||||||
|
|
||||||
|
|
||||||
class WeeklyLWN(BasicNewsRecipe):
|
class WeeklyLWN(BasicNewsRecipe):
|
||||||
@ -82,6 +83,19 @@ class WeeklyLWN(BasicNewsRecipe):
|
|||||||
|
|
||||||
return url
|
return url
|
||||||
|
|
||||||
|
def publication_date(self):
|
||||||
|
return self.pub_date
|
||||||
|
|
||||||
|
def parse_publication_date(self, soup):
|
||||||
|
from dateutil.parser import parse, ParserError
|
||||||
|
try:
|
||||||
|
date_match = re.match(r'.* +for +([^\[]*)', self.tag_to_string(soup.head.title.string))
|
||||||
|
# dateutil.parser.parse() is considered thread-safe
|
||||||
|
self.pub_date = parse(date_match[1])
|
||||||
|
except (TypeError, ParserError):
|
||||||
|
self.log.warning('Failed to parse publication date from title: %r, using current time' % soup.head.title.string)
|
||||||
|
self.pub_date = nowf()
|
||||||
|
|
||||||
def parse_index(self):
|
def parse_index(self):
|
||||||
past_edition = self.recipe_specific_options.get('issue')
|
past_edition = self.recipe_specific_options.get('issue')
|
||||||
if past_edition and isinstance(past_edition, str):
|
if past_edition and isinstance(past_edition, str):
|
||||||
@ -91,6 +105,7 @@ class WeeklyLWN(BasicNewsRecipe):
|
|||||||
else:
|
else:
|
||||||
index_url = self.print_version('/free/bigpage')
|
index_url = self.print_version('/free/bigpage')
|
||||||
soup = self.index_to_soup(index_url)
|
soup = self.index_to_soup(index_url)
|
||||||
|
self.parse_publication_date(soup)
|
||||||
curr = soup.body
|
curr = soup.body
|
||||||
|
|
||||||
articles = {}
|
articles = {}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user