[Bf-extensions-cvs] [abaa6430] blender2.8: Blender ID add-on: made it compatible with current Blender 2.8
Sybren A. Stüvel
noreply at git.blender.org
Tue Sep 4 12:42:58 CEST 2018
Commit: abaa64303d46255da2d6b332fb950b2cdded23bc
Author: Sybren A. Stüvel
Date: Tue Sep 4 12:42:53 2018 +0200
Branches: blender2.8
https://developer.blender.org/rBAabaa64303d46255da2d6b332fb950b2cdded23bc
Blender ID add-on: made it compatible with current Blender 2.8
Note that this version requires Blender 2.80 or newer due to changes in
operator property declarations.
===================================================================
M blender_id/CHANGELOG.md
M blender_id/README.md
M blender_id/__init__.py
===================================================================
diff --git a/blender_id/CHANGELOG.md b/blender_id/CHANGELOG.md
index f73f0824..94b21376 100644
--- a/blender_id/CHANGELOG.md
+++ b/blender_id/CHANGELOG.md
@@ -1,5 +1,12 @@
# Blender ID Add-on Changelog
+# Version 2.0 (in development)
+
+- Require Blender 2.80+.
+- API change: `blender_id.get_subclient_user_id()` now returns `''` instead of `None` when the user
+ is not logged in.
+
+
# Version 1.5 (released 2018-07-03)
- Support Blender 2.80.
diff --git a/blender_id/README.md b/blender_id/README.md
index 15c2fd83..8f73fbc7 100644
--- a/blender_id/README.md
+++ b/blender_id/README.md
@@ -13,7 +13,7 @@ Blender ID add-on version 1.2.0 removed some workarounds necessary for
Blender 2.77a. As such, versions 1.1.x are the last versions compatible with
Blender 2.77a, and 1.2.0 and newer require at least Blender 2.78.
-Blender ID add-on version 1.5 is the first to support Blender 2.80+.
+Blender ID add-on version 2.0 is the first to support and require Blender 2.80+.
Building & Bundling
diff --git a/blender_id/__init__.py b/blender_id/__init__.py
index 7d369bbd..a4d6b64f 100644
--- a/blender_id/__init__.py
+++ b/blender_id/__init__.py
@@ -23,7 +23,7 @@
bl_info = {
'name': 'Blender ID authentication',
'author': 'Sybren A. Stüvel, Francesco Siddi, and Inês Almeida',
- 'version': (1, 5, 0),
+ 'version': (1, 9, 9),
'blender': (2, 80, 0),
'location': 'Add-on preferences',
'description':
@@ -119,11 +119,11 @@ def get_subclient_user_id(subclient_id: str) -> str:
Requires that the user has been authenticated at the subclient using
a call to create_subclient_token(...)
- :returns: the subclient-local user ID, or None if not logged in.
+ :returns: the subclient-local user ID, or the empty string if not logged in.
"""
if not BlenderIdProfile.user_id:
- return None
+ return ''
return BlenderIdProfile.subclients[subclient_id]['subclient_user_id']
@@ -161,9 +161,9 @@ def token_expires() -> typing.Optional[datetime.datetime]:
# Try parsing as different formats. A new Blender ID is coming,
# which may change the format in which timestamps are sent.
formats = [
- '%Y-%m-%dT%H:%M:%SZ', # ISO 8601 with Z-suffix
- '%Y-%m-%dT%H:%M:%S.%fZ', # ISO 8601 with fractional seconds and Z-suffix
- '%a, %d %b %Y %H:%M:%S GMT', # RFC 1123, used by old Blender ID
+ '%Y-%m-%dT%H:%M:%SZ', # ISO 8601 with Z-suffix
+ '%Y-%m-%dT%H:%M:%S.%fZ', # ISO 8601 with fractional seconds and Z-suffix
+ '%a, %d %b %Y %H:%M:%S GMT', # RFC 1123, used by old Blender ID
]
for fmt in formats:
try:
@@ -182,23 +182,23 @@ class BlenderIdPreferences(AddonPreferences):
error_message: StringProperty(
name='Error Message',
default='',
- options={'HIDDEN', 'SKIP_SAVE'},
+ options={'HIDDEN', 'SKIP_SAVE'}
)
ok_message: StringProperty(
name='Message',
default='',
- options={'HIDDEN', 'SKIP_SAVE'},
+ options={'HIDDEN', 'SKIP_SAVE'}
)
blender_id_username: StringProperty(
name='E-mail address',
default='',
- options={'HIDDEN', 'SKIP_SAVE'},
+ options={'HIDDEN', 'SKIP_SAVE'}
)
blender_id_password: StringProperty(
name='Password',
default='',
options={'HIDDEN', 'SKIP_SAVE'},
- subtype='PASSWORD',
+ subtype='PASSWORD'
)
def reset_messages(self):
@@ -211,10 +211,10 @@ class BlenderIdPreferences(AddonPreferences):
if self.error_message:
sub = layout.row()
sub.alert = True # labels don't display in red :(
- sub.label(self.error_message, icon='ERROR')
+ sub.label(text=self.error_message, icon='ERROR')
if self.ok_message:
sub = layout.row()
- sub.label(self.ok_message, icon='FILE_TICK')
+ sub.label(text=self.ok_message, icon='FILE_TICK')
active_profile = get_active_profile()
if active_profile:
@@ -240,15 +240,17 @@ class BlenderIdPreferences(AddonPreferences):
exp_str = 'within seconds'
if time_left.days < 14:
- layout.label('You are logged in as %s.' % active_profile.username,
+ layout.label(text='You are logged in as %s.' % active_profile.username,
icon='WORLD_DATA')
layout.label(text='Your token will expire %s. Please log out and log in again '
- 'to refresh it.' % exp_str, icon='PREVIEW_RANGE')
+ 'to refresh it.' % exp_str, icon='PREVIEW_RANGE')
else:
- layout.label('You are logged in as %s. Your authentication token expires %s.'
- % (active_profile.username, exp_str), icon='WORLD_DATA')
+ layout.label(
+ text='You are logged in as %s. Your authentication token expires %s.'
+ % (active_profile.username, exp_str),
+ icon='WORLD_DATA')
- row = layout.row().split(0.8)
+ row = layout.row().split(factor=0.8)
row.operator('blender_id.logout')
row.operator('blender_id.validate')
else:
@@ -345,7 +347,10 @@ def register():
profiles.register()
BlenderIdProfile.read_json()
- bpy.utils.register_module(__name__)
+ bpy.utils.register_class(BlenderIdLogin)
+ bpy.utils.register_class(BlenderIdLogout)
+ bpy.utils.register_class(BlenderIdPreferences)
+ bpy.utils.register_class(BlenderIdValidate)
preferences = bpy.context.user_preferences.addons[__name__].preferences
preferences.reset_messages()
More information about the Bf-extensions-cvs
mailing list