[Bf-extensions-cvs] [fbe2b765] blender-v2.79a-release: Updated Blender ID add-on to version 1.4.1

Sybren A. Stüvel noreply at git.blender.org
Mon Jan 1 16:36:27 CET 2018


Commit: fbe2b7652a82547f94e3c381a0af3b8d2c7da24b
Author: Sybren A. Stüvel
Date:   Fri Dec 15 10:13:04 2017 +0100
Branches: blender-v2.79a-release
https://developer.blender.org/rBAfbe2b7652a82547f94e3c381a0af3b8d2c7da24b

Updated Blender ID add-on to version 1.4.1

- Improved error reporting when validating a token fails due to connection
  errors.

===================================================================

M	blender_id/CHANGELOG.md
M	blender_id/__init__.py
M	blender_id/communication.py

===================================================================

diff --git a/blender_id/CHANGELOG.md b/blender_id/CHANGELOG.md
index 8c7709f7..cf62a6e1 100644
--- a/blender_id/CHANGELOG.md
+++ b/blender_id/CHANGELOG.md
@@ -1,5 +1,11 @@
 # Blender ID Add-on Changelog
 
+## Version 1.4.1 (released 2017-12-15)
+
+- Improved error reporting when validating a token fails due to
+  connection errors.
+
+
 ## Version 1.4 (released 2017-12-05)
 
 - Added an extra date/time format for parsing the authentication token expiry date.
diff --git a/blender_id/__init__.py b/blender_id/__init__.py
index a2026581..73371945 100644
--- a/blender_id/__init__.py
+++ b/blender_id/__init__.py
@@ -21,7 +21,7 @@
 bl_info = {
     'name': 'Blender ID authentication',
     'author': 'Francesco Siddi, Inês Almeida and Sybren A. Stüvel',
-    'version': (1, 4, 0),
+    'version': (1, 4, 1),
     'blender': (2, 77, 0),
     'location': 'Add-on preferences',
     'description':
diff --git a/blender_id/communication.py b/blender_id/communication.py
index 90ccf9a1..5572b637 100644
--- a/blender_id/communication.py
+++ b/blender_id/communication.py
@@ -19,8 +19,11 @@
 # <pep8 compliant>
 
 import functools
+import logging
 import typing
 
+log = logging.getLogger(__name__)
+
 
 class BlenderIdCommError(RuntimeError):
     """Raised when there was an error communicating with Blender ID"""
@@ -84,8 +87,9 @@ def blender_id_server_authenticate(username, password) -> AuthResult:
     except (requests.exceptions.SSLError,
             requests.exceptions.HTTPError,
             requests.exceptions.ConnectionError) as e:
-        print('Exception POSTing to {}: {}'.format(url, e))
-        return AuthResult(status, error_message=e)
+        msg = 'Exception POSTing to {}: {}'.format(url, e)
+        print(msg)
+        return AuthResult(success=False, error_message=msg)
 
     if r.status_code == 200:
         resp = r.json()
@@ -117,17 +121,21 @@ def blender_id_server_validate(token) -> typing.Tuple[typing.Optional[str], typi
     import requests
     import requests.exceptions
 
+    url = blender_id_endpoint('u/validate_token')
     try:
-        r = requests.post(blender_id_endpoint('u/validate_token'),
-                          data={'token': token}, verify=True)
+        r = requests.post(url, data={'token': token}, verify=True)
+    except requests.exceptions.ConnectionError:
+        log.exception('error connecting to Blender ID at %s', url)
+        return None, 'Unable to connect to Blender ID'
     except requests.exceptions.RequestException as e:
-        return (str(e), None)
+        log.exception('error validating token at %s', url)
+        return None, str(e)
 
     if r.status_code != 200:
-        return (None, 'Authentication token invalid')
+        return None, 'Authentication token invalid'
 
     response = r.json()
-    return (response['token_expires'], None)
+    return response['token_expires'], None
 
 
 def blender_id_server_logout(user_id, token):



More information about the Bf-extensions-cvs mailing list