mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 18:24:30 -04:00
News download: More multithreading fixes
This commit is contained in:
parent
dcda88a054
commit
4378c69bcd
@ -403,9 +403,9 @@ class BasicNewsRecipe(Recipe):
|
|||||||
`url_or_raw`: Either a URL or the downloaded index page as a string
|
`url_or_raw`: Either a URL or the downloaded index page as a string
|
||||||
'''
|
'''
|
||||||
if re.match(r'\w+://', url_or_raw):
|
if re.match(r'\w+://', url_or_raw):
|
||||||
f = self.browser.open(url_or_raw)
|
open_func = getattr(self.browser, 'open_novisit', self.browser.open)
|
||||||
_raw = f.read()
|
with closing(open_func(url_or_raw)) as f:
|
||||||
f.close()
|
_raw = f.read()
|
||||||
if not _raw:
|
if not _raw:
|
||||||
raise RuntimeError('Could not fetch index from %s'%url_or_raw)
|
raise RuntimeError('Could not fetch index from %s'%url_or_raw)
|
||||||
else:
|
else:
|
||||||
|
@ -198,8 +198,8 @@ class RecursiveFetcher(object):
|
|||||||
for i in range(2, 6):
|
for i in range(2, 6):
|
||||||
purl[i] = quote(purl[i])
|
purl[i] = quote(purl[i])
|
||||||
url = urlparse.urlunparse(purl)
|
url = urlparse.urlunparse(purl)
|
||||||
|
open_func = getattr(self.browser, 'open_novisit', self.browser.open)
|
||||||
try:
|
try:
|
||||||
open_func = getattr(self.browser, 'open_novisit', self.browser.open)
|
|
||||||
with closing(open_func(url, timeout=self.timeout)) as f:
|
with closing(open_func(url, timeout=self.timeout)) as f:
|
||||||
data = response(f.read()+f.read())
|
data = response(f.read()+f.read())
|
||||||
data.newurl = f.geturl()
|
data.newurl = f.geturl()
|
||||||
@ -210,7 +210,7 @@ class RecursiveFetcher(object):
|
|||||||
getattr(getattr(err, 'args', [None])[0], 'errno', None) == -2: # Connection reset by peer or Name or service not know
|
getattr(getattr(err, 'args', [None])[0], 'errno', None) == -2: # Connection reset by peer or Name or service not know
|
||||||
self.log.debug('Temporary error, retrying in 1 second')
|
self.log.debug('Temporary error, retrying in 1 second')
|
||||||
time.sleep(1)
|
time.sleep(1)
|
||||||
with closing(self.browser.open(url, timeout=self.timeout)) as f:
|
with closing(open_func(url, timeout=self.timeout)) as f:
|
||||||
data = response(f.read()+f.read())
|
data = response(f.read()+f.read())
|
||||||
data.newurl = f.geturl()
|
data.newurl = f.geturl()
|
||||||
else:
|
else:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user