@@ -1884,9 +1884,12 @@ class Fetch(object):
return local
- def download(self, urls=None):
+ def download(self, urls=None, log_errors=True):
"""
Fetch all urls
+
+ log_errors=False logs the first fetch failure at WARNING instead of
+ ERROR, for callers that treat a fetch failure as recoverable.
"""
if not urls:
urls = self.urls
@@ -1957,7 +1960,10 @@ class Fetch(object):
if not done or not m.done(ud, d):
if firsterr:
- logger.error(str(firsterr))
+ if log_errors:
+ logger.error(str(firsterr))
+ else:
+ logger.warning(str(firsterr))
raise FetchError("Unable to fetch URL from any source.", u)
m.update_donestamp(ud, d)