From 0ed6abb929fd01da59a38240ce9a8849203a8427 Mon Sep 17 00:00:00 2001 From: Thibault Douge Date: Mon, 12 Apr 2021 16:44:25 +0200 Subject: [PATCH] [orange] return NotAvailable if the document is unavailable --- modules/orange/browser.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/modules/orange/browser.py b/modules/orange/browser.py index f9bd2598b8..e779d042f2 100644 --- a/modules/orange/browser.py +++ b/modules/orange/browser.py @@ -25,6 +25,7 @@ from requests.exceptions import ConnectTimeout from woob.browser import LoginBrowser, URL, need_login, StatesMixin +from woob.capabilities import NotAvailable from woob.exceptions import ( BrowserIncorrectPassword, BrowserUnavailable, ActionNeeded, BrowserPasswordExpired, ScrapingBlocked, @@ -318,8 +319,13 @@ def get_profile(self): def download_document(self, document): # sometimes the site sends us a server error when downloading the document. # it is necessary to try again. - - if document._is_v2: - # get 404 without this header - return self.open(document.url, headers={'x-orange-caller-id': 'ECQ'}).content - return self.open(document.url).content + try: + if document._is_v2: + # get 404 without this header + return self.open(document.url, headers={'x-orange-caller-id': 'ECQ'}).content + return self.open(document.url).content + except ClientError as e: + if e.response.status_code == 422: + # if the code is 422 the download of the document is currently unavailable + + return NotAvailable -- GitLab