From 365d7cfd4e03df64bb8a483cad7852b1040562bd Mon Sep 17 00:00:00 2001 From: Oleg Plakhotniuk Date: Mon, 9 Feb 2015 00:19:26 -0600 Subject: [PATCH] Retry Amazon requests after ReadTimeout exception. --- modules/amazon/browser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/modules/amazon/browser.py b/modules/amazon/browser.py index b9b70276..4eea32a7 100644 --- a/modules/amazon/browser.py +++ b/modules/amazon/browser.py @@ -23,6 +23,7 @@ from weboob.browser.exceptions import ServerError, HTTPNotFound from weboob.capabilities.base import Currency from weboob.capabilities.shop import OrderNotFound from weboob.exceptions import BrowserIncorrectPassword +from requests.exceptions import ReadTimeout from .pages import HomePage, LoginPage, AmazonPage, HistoryPage, \ OrderOldPage, OrderNewPage @@ -33,6 +34,7 @@ __all__ = ['Amazon'] class Amazon(LoginBrowser): BASEURL = 'https://www.amazon.com' + MAX_RETRIES = 10 home = URL(r'http://www\.amazon\.com/$', HomePage) login = URL(r'/ap/signin/.*$', LoginPage) history = URL(r'/gp/css/order-history.*$', HistoryPage) @@ -106,6 +108,6 @@ class Amazon(LoginBrowser): for i in xrange(self.MAX_RETRIES): try: return super(Amazon, self).location(*args, **kwargs) - except ServerError as e: + except (ServerError, ReadTimeout) as e: pass raise e