From cfcceb6215559a45c77949ee969a6704a65d245e Mon Sep 17 00:00:00 2001 From: mjj4791 Date: Sun, 11 Jun 2017 20:54:26 +0200 Subject: [PATCH] handle status_code!=200 in client_refresh catch PyiCloudAPIResponseError and re raise as PyiCloudNoDevicesException --- pyicloud/base.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/pyicloud/base.py b/pyicloud/base.py index e05fc30d..0e12079a 100644 --- a/pyicloud/base.py +++ b/pyicloud/base.py @@ -13,7 +13,8 @@ from pyicloud.exceptions import ( PyiCloudFailedLoginException, PyiCloudAPIResponseError, - PyiCloud2FARequiredError + PyiCloud2FARequiredError, + PyiCloudNoDevicesException ) from pyicloud.services import ( FindMyiPhoneServiceManager, @@ -266,11 +267,14 @@ def validate_verification_code(self, device, code): def devices(self): """ Return all devices.""" service_root = self.webservices['findme']['url'] - return FindMyiPhoneServiceManager( - service_root, - self.session, - self.params - ) + try: + return FindMyiPhoneServiceManager( + service_root, + self.session, + self.params + ) + except PyiCloudAPIResponseError as error: + raise PyiCloudNoDevicesException(error) @property def account(self):