From f41d43e3f50db8e87756bab9344e5cbcdfa5118b Mon Sep 17 00:00:00 2001 From: Oleg Plakhotniuk Date: Mon, 27 Apr 2015 12:55:43 -0500 Subject: [PATCH] [amazon] Retry getting an order page. Closes #1876 --- modules/amazon/browser.py | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/modules/amazon/browser.py b/modules/amazon/browser.py index 2a60db5c..547ef583 100644 --- a/modules/amazon/browser.py +++ b/modules/amazon/browser.py @@ -85,16 +85,15 @@ class Amazon(LoginBrowser): Amazon updates its website in stages: they reroute a random part of their users to new pages, and the rest to old ones. """ - if (not self.order_new.is_here() and not self.order_old.is_here()) \ - or self.page.order_number() != order_id: + for i in xrange(self.MAX_RETRIES): + if (self.order_new.is_here() or self.order_old.is_here()) \ + and self.page.order_number() == order_id: + return self.page try: self.order_new.go(order_id=order_id) except HTTPNotFound: self.order_old.go(order_id=order_id) - if (not self.order_new.is_here() and not self.order_old.is_here()) \ - or self.page.order_number() != order_id: - raise OrderNotFound() - return self.page + raise OrderNotFound() def do_login(self): self.session.cookies.clear()