blender-id-addon.git
2 months agocontext.user_preferences was renamed to context.preferences master
Sybren A. Stüvel [Wed, 13 Feb 2019 10:56:39 +0000 (11:56 +0100)]
context.user_preferences was renamed to context.preferences

2 months agoShow which Blender ID instance is communicated with in the addon prefs
Sybren A. Stüvel [Wed, 13 Feb 2019 10:50:26 +0000 (11:50 +0100)]
Show which Blender ID instance is communicated with in the addon prefs

This is only shown if it was overridden by setting the BLENDER_ID_ENDPOINT
environment variable. It makes Cloud development a bit easier when it's
explicit to which Blender ID (local dev or real one) we're talking.

5 months agoEnsure that README.md and CHANGELOG.md don't end up in a 'local' subdirectory
Sybren A. Stüvel [Wed, 7 Nov 2018 13:24:57 +0000 (14:24 +0100)]
Ensure that README.md and CHANGELOG.md don't end up in a 'local' subdirectory

5 months agoUpdated changelog
Sybren A. Stüvel [Wed, 7 Nov 2018 13:15:02 +0000 (14:15 +0100)]
Updated changelog

5 months agoLog which Blender ID instance is communicated with
Sybren A. Stüvel [Tue, 30 Oct 2018 10:13:52 +0000 (11:13 +0100)]
Log which Blender ID instance is communicated with

7 months agoBlender 2.80-compatible unregistration
Sybren A. Stüvel [Tue, 4 Sep 2018 13:11:45 +0000 (15:11 +0200)]
Blender 2.80-compatible unregistration

7 months agoUpdated README.md
Sybren A. Stüvel [Tue, 4 Sep 2018 10:40:45 +0000 (12:40 +0200)]
Updated README.md

7 months agoPEP 8 formatting
Sybren A. Stüvel [Tue, 4 Sep 2018 10:39:06 +0000 (12:39 +0200)]
PEP 8 formatting

7 months agoBlender 2.80 compatibility + API change
Sybren A. Stüvel [Tue, 4 Sep 2018 10:39:00 +0000 (12:39 +0200)]
Blender 2.80 compatibility + API change

- Using keyword arguments for layout functions.
- Declaring properties with type declaration notation.
- Bumped version to 1.9.9 as sort of '2.0-dev1' indication.
- API change: `blender_id.get_subclient_user_id()` now returns `''` instead
  of `None` when the user  is not logged in.

9 months agoMarked version 1.5 as released in CHANGELOG.md version-1.5.0
Sybren A. Stüvel [Tue, 3 Jul 2018 08:36:33 +0000 (10:36 +0200)]
Marked version 1.5 as released in CHANGELOG.md

9 months agoBumped version to 1.5.0 + support Blender 2.8
Sybren A. Stüvel [Tue, 3 Jul 2018 08:32:09 +0000 (10:32 +0200)]
Bumped version to 1.5.0 + support Blender 2.8

To indicate that an add-on supports Blender 2.8+, it needs to have
'blender': (2, 80, 0) in its bl_info dict. This add-on still supports
older versions (2.77a+). However, since Blender 2.78+ ship with the
Blender ID add-on bundled, it's very unlikely that users will actually
upgrade that add-on specifically anyway.

16 months agoBumped version to 1.4.1 version-1.4.1
Sybren A. Stüvel [Fri, 15 Dec 2017 09:08:01 +0000 (10:08 +0100)]
Bumped version to 1.4.1

16 months agoUpdated changelog
Sybren A. Stüvel [Fri, 15 Dec 2017 09:07:55 +0000 (10:07 +0100)]
Updated changelog

16 months agoRemoved superfluous parentheses
Sybren A. Stüvel [Fri, 15 Dec 2017 09:06:56 +0000 (10:06 +0100)]
Removed superfluous parentheses

16 months agoFixed UnboundLocalError
Sybren A. Stüvel [Fri, 15 Dec 2017 09:06:33 +0000 (10:06 +0100)]
Fixed UnboundLocalError

16 months agoImproved error logging when validating tokens
Sybren A. Stüvel [Fri, 15 Dec 2017 09:06:01 +0000 (10:06 +0100)]
Improved error logging when validating tokens

16 months agoBumped version to 1.4.0 version-1.4.0
Sybren A. Stüvel [Tue, 5 Dec 2017 09:45:05 +0000 (10:45 +0100)]
Bumped version to 1.4.0

16 months agoUpdated CHANGELOG.md
Sybren A. Stüvel [Tue, 5 Dec 2017 09:44:45 +0000 (10:44 +0100)]
Updated CHANGELOG.md

17 months agoAlways show the "Validate" button when the user is logged in.
Sybren A. Stüvel [Tue, 21 Nov 2017 11:32:49 +0000 (12:32 +0100)]
Always show the "Validate" button when the user is logged in.

This actively checks the token with the server, whereas the "You are
logged in" only bases that statement on locally-available information
(there is a token and it hasn't expired yet).

Previously this button was only shown when Blender was run with the
`--debug` CLI option.

17 months agoAdded date/time format for parsing the authentication token expiry date.
Sybren A. Stüvel [Tue, 21 Nov 2017 11:28:03 +0000 (12:28 +0100)]
Added date/time format for parsing the authentication token expiry date.

22 months agoUpdated release date in CHANGELOG version-1.3.0
Sybren A. Stüvel [Wed, 14 Jun 2017 13:10:04 +0000 (15:10 +0200)]
Updated release date in CHANGELOG

22 months agoBumped version to 1.3.0
Sybren A. Stüvel [Wed, 14 Jun 2017 13:08:53 +0000 (15:08 +0200)]
Bumped version to 1.3.0

22 months agoUpdated changelog
Sybren A. Stüvel [Wed, 14 Jun 2017 13:08:45 +0000 (15:08 +0200)]
Updated changelog

22 months agoParsing & showing token expiry date in the addon preferences.
Sybren A. Stüvel [Wed, 14 Jun 2017 12:59:28 +0000 (14:59 +0200)]
Parsing & showing token expiry date in the addon preferences.

The "validate" button is shown when the expiry date is unknown. Validating
will fetch and store it.

Users are urged to log out and back in again when their token expires
within two weeks. In the future we may use a refresh token to automatically
refresh the auth token, but this isn't used anywhere yet and requires a
bit more research.

22 months agoAdded update_version.sh to easily change version numbers in relevant files.
Sybren A. Stüvel [Wed, 14 Jun 2017 12:18:02 +0000 (14:18 +0200)]
Added update_version.sh to easily change version numbers in relevant files.

22 months agoAdded a CHANGELOG.md file.
Sybren A. Stüvel [Wed, 14 Jun 2017 12:17:40 +0000 (14:17 +0200)]
Added a CHANGELOG.md file.

22 months agoSave token expiry date when validating the token.
Sybren A. Stüvel [Wed, 14 Jun 2017 12:14:22 +0000 (14:14 +0200)]
Save token expiry date when validating the token.

This also adds a function to the public API: validate_token()

22 months agoShow a message after logging out
Sybren A. Stüvel [Wed, 14 Jun 2017 12:13:36 +0000 (14:13 +0200)]
Show a message after logging out

22 months agoStore token expiry date in profile JSON
Sybren A. Stüvel [Wed, 14 Jun 2017 12:13:03 +0000 (14:13 +0200)]
Store token expiry date in profile JSON

22 months agoSlightly more dynamic approach for loading profiles
Sybren A. Stüvel [Wed, 14 Jun 2017 12:11:59 +0000 (14:11 +0200)]
Slightly more dynamic approach for loading profiles

22 months agoPass AuthResult to save_as_active_profile
Sybren A. Stüvel [Wed, 14 Jun 2017 11:52:46 +0000 (13:52 +0200)]
Pass AuthResult to save_as_active_profile

This helps us to add extra fields, and not pass them around all over the
place.

22 months agoAuthentication now returns an AuthResult object
Sybren A. Stüvel [Wed, 14 Jun 2017 11:50:22 +0000 (13:50 +0200)]
Authentication now returns an AuthResult object

This is a lot more readable & manageable than returning
arbitrary-but-not-quite-arbitrary dicts.

22 months agoRevert "Only show the "Validate" button when Blender is started with --debug"
Sybren A. Stüvel [Wed, 14 Jun 2017 10:54:53 +0000 (12:54 +0200)]
Revert "Only show the "Validate" button when Blender is started with --debug"

This reverts commit fc5782505b8d9aa0173352a237b61e282246218c.

2 years agoRemoved cacert.pem from being packaged version-1.2.0
Sybren A. Stüvel [Sun, 7 Aug 2016 09:33:14 +0000 (11:33 +0200)]
Removed cacert.pem from being packaged

2 years agoBumped version to 1.2.0 to include in Blender 2.78
Sybren A. Stüvel [Sun, 7 Aug 2016 09:29:40 +0000 (11:29 +0200)]
Bumped version to 1.2.0 to include in Blender 2.78

This version is NOT compatible with all 2.77a builds we've released; when
targeting that version, use Blender-ID Add-on 1.1.x.

2 years agoAdded note about compatibility with Blender versions.
Sybren A. Stüvel [Thu, 4 Aug 2016 13:02:17 +0000 (15:02 +0200)]
Added note about compatibility with Blender versions.

2 years agoRemoved cacert.pem and Requests monkey-patching.
Sybren A. Stüvel [Thu, 4 Aug 2016 12:54:11 +0000 (14:54 +0200)]
Removed cacert.pem and Requests monkey-patching.

This is no longer necessary for Blender 2.78.

2 years agoAdded setup.py extension for bundling the addon with Blender. version-1.1.0
Sybren A. Stüvel [Thu, 4 Aug 2016 12:19:48 +0000 (14:19 +0200)]
Added setup.py extension for bundling the addon with Blender.

2 years agoOnly show the "Validate" button when Blender is started with --debug
Sybren A. Stüvel [Thu, 4 Aug 2016 10:55:31 +0000 (12:55 +0200)]
Only show the "Validate" button when Blender is started with --debug

2 years agoAdded GPL license block
Sybren A. Stüvel [Thu, 4 Aug 2016 10:51:57 +0000 (12:51 +0200)]
Added GPL license block

2 years agoExplicitly run on Python 3
Sybren A. Stüvel [Thu, 4 Aug 2016 10:51:51 +0000 (12:51 +0200)]
Explicitly run on Python 3

2 years agoPrevent __pycache__ dirs from being packaged.
Sybren A. Stüvel [Thu, 4 Aug 2016 10:51:40 +0000 (12:51 +0200)]
Prevent __pycache__ dirs from being packaged.

2 years agoPrevent username leaking
Sybren A. Stüvel [Thu, 4 Aug 2016 10:06:09 +0000 (12:06 +0200)]
Prevent username leaking

2 years agoBumped version to 1.1.0 in preparation of bundling with Blender
Sybren A. Stüvel [Thu, 4 Aug 2016 09:56:54 +0000 (11:56 +0200)]
Bumped version to 1.1.0 in preparation of bundling with Blender

2 years agoUsing urllib.parse.urljoin() to join URLs, instead of string formatting.
Sybren A. Stüvel [Thu, 4 Aug 2016 09:55:54 +0000 (11:55 +0200)]
Using urllib.parse.urljoin() to join URLs, instead of string formatting.

2 years agoOptimised imports
Sybren A. Stüvel [Thu, 4 Aug 2016 09:51:41 +0000 (11:51 +0200)]
Optimised imports

- Removed unused imports
- Moved import of json and os module into functions that use it

2 years agoBumped version to 1.0.1 version-1.0.1
Sybren A. Stüvel [Wed, 18 May 2016 14:36:06 +0000 (16:36 +0200)]
Bumped version to 1.0.1

2 years agoChanged label from 'Username' to 'E-mail address'
Sybren A. Stüvel [Wed, 18 May 2016 14:35:59 +0000 (16:35 +0200)]
Changed label from 'Username' to 'E-mail address'

2 years agoBetter icon for OK messages. version-1.0.0
Sybren A. Stüvel [Wed, 4 May 2016 12:31:12 +0000 (14:31 +0200)]
Better icon for OK messages.

2 years agoSome extra resetting of old messages.
Sybren A. Stüvel [Wed, 4 May 2016 12:10:24 +0000 (14:10 +0200)]
Some extra resetting of old messages.

2 years agoAdded unregister() function to demo addon
Sybren A. Stüvel [Wed, 4 May 2016 12:10:04 +0000 (14:10 +0200)]
Added unregister() function to demo addon

2 years agoUpdated README.md, we no longer depend on Blender-shipped cacerts.pem
Sybren A. Stüvel [Tue, 3 May 2016 15:48:47 +0000 (17:48 +0200)]
Updated README.md, we no longer depend on Blender-shipped cacerts.pem

2 years agoAdd requests as a requirement
Sybren A. Stüvel [Tue, 3 May 2016 14:43:30 +0000 (16:43 +0200)]
Add requests as a requirement

2 years agoMonkey-patch requests to use our certificate file
Sybren A. Stüvel [Tue, 3 May 2016 14:43:22 +0000 (16:43 +0200)]
Monkey-patch requests to use our certificate file

This only happens if the platform file doesn't exist. Blender 2.77a has
this file on Linux, but not on Windows or MacOS builds.

3 years agoAdded utility function for getting a subclient user ID
Sybren A. Stüvel [Fri, 15 Apr 2016 13:14:15 +0000 (15:14 +0200)]
Added utility function for getting a subclient user ID

3 years agoSome BlenderID API changes.
Sybren A. Stüvel [Fri, 15 Apr 2016 10:36:37 +0000 (12:36 +0200)]
Some BlenderID API changes.

3 years agoExpose BlenderIdCommError
Sybren A. Stüvel [Tue, 12 Apr 2016 14:52:09 +0000 (16:52 +0200)]
Expose BlenderIdCommError

3 years agoReturn scst_info from create_subclient_token(), as documented
Sybren A. Stüvel [Tue, 12 Apr 2016 14:52:00 +0000 (16:52 +0200)]
Return scst_info from create_subclient_token(), as documented

3 years agoStarted work on subclient support.
Sybren A. Stüvel [Tue, 12 Apr 2016 14:07:45 +0000 (16:07 +0200)]
Started work on subclient support.

We can create subclient auth tokens now, and send them to the
subclient webservice (which then verifies them).

3 years agoSave JSON as UTF-8
Sybren A. Stüvel [Fri, 8 Apr 2016 14:48:19 +0000 (16:48 +0200)]
Save JSON as UTF-8

3 years agoMarked as OFFICIAL
Sybren A. Stüvel [Mon, 4 Apr 2016 14:26:13 +0000 (16:26 +0200)]
Marked as OFFICIAL

3 years agoDouble quotes to single quotes.
Sybren A. Stüvel [Mon, 4 Apr 2016 14:23:29 +0000 (16:23 +0200)]
Double quotes to single quotes.

All strings are now single-quoted, except when the string itself contains
a single quote.

3 years agoLog URL when unable to communicate
Sybren A. Stüvel [Mon, 4 Apr 2016 12:51:48 +0000 (14:51 +0200)]
Log URL when unable to communicate

3 years agodoc: removed trailing underscore
Sybren A. Stüvel [Fri, 1 Apr 2016 14:23:05 +0000 (16:23 +0200)]
doc: removed trailing underscore

3 years agoSome doc tweaks
Sybren A. Stüvel [Fri, 1 Apr 2016 14:20:45 +0000 (16:20 +0200)]
Some doc tweaks

3 years agoAdded BlenderIdProfile to __all__
Sybren A. Stüvel [Fri, 1 Apr 2016 14:18:58 +0000 (16:18 +0200)]
Added BlenderIdProfile to __all__

3 years agoAdded example and some API documentation.
Sybren A. Stüvel [Fri, 1 Apr 2016 14:17:41 +0000 (16:17 +0200)]
Added example and some API documentation.

3 years agoAdded utility function `is_logged_in()`
Sybren A. Stüvel [Fri, 1 Apr 2016 14:10:53 +0000 (16:10 +0200)]
Added utility function `is_logged_in()`

3 years agoDeclare return types
Sybren A. Stüvel [Fri, 1 Apr 2016 14:10:40 +0000 (16:10 +0200)]
Declare return types

3 years agoNo longer store auth info in RNA.
Sybren A. Stüvel [Fri, 1 Apr 2016 13:59:44 +0000 (15:59 +0200)]
No longer store auth info in RNA.

Instead, it uses class properties; since classes are singletons, this
allows for easy storage of global data.

The metaclass provides a __str__() for the BlenderIdProfile class, such
that it shows more useful info to developers.

3 years agoAdded license to profiles.py and removed 80-column declaration
Sybren A. Stüvel [Fri, 1 Apr 2016 12:26:52 +0000 (14:26 +0200)]
Added license to profiles.py and removed 80-column declaration

3 years agoDon't create/load files when the addon is loaded.
Sybren A. Stüvel [Fri, 1 Apr 2016 12:22:38 +0000 (14:22 +0200)]
Don't create/load files when the addon is loaded.

Instead, it is done when it is registered.

3 years agoMade the public API clearer.
Sybren A. Stüvel [Fri, 1 Apr 2016 12:08:51 +0000 (14:08 +0200)]
Made the public API clearer.

3 years agoInlined imports of large / locally-used modules
Sybren A. Stüvel [Fri, 1 Apr 2016 12:08:27 +0000 (14:08 +0200)]
Inlined imports of large / locally-used modules

3 years agoAdded requires to 'install_requires' in setup.py
Sybren A. Stüvel [Fri, 1 Apr 2016 12:07:38 +0000 (14:07 +0200)]
Added requires to 'install_requires' in setup.py

3 years agoSupport reloading of the addon
Sybren A. Stüvel [Fri, 1 Apr 2016 12:07:26 +0000 (14:07 +0200)]
Support reloading of the addon

3 years agoDocumentation update
Sybren A. Stüvel [Fri, 1 Apr 2016 08:49:50 +0000 (10:49 +0200)]
Documentation update

Added some more documentation about using the addon, and using more
Phabricator links.

3 years agoMade setup.py executable.
Sybren A. Stüvel [Thu, 31 Mar 2016 13:56:57 +0000 (15:56 +0200)]
Made setup.py executable.

3 years agoAvoid creation/packaing of the egg-info directory.
Sybren A. Stüvel [Thu, 31 Mar 2016 13:54:17 +0000 (15:54 +0200)]
Avoid creation/packaing of the egg-info directory.

3 years agoBumped version to 1.0 and taken it out of TESTING.
Sybren A. Stüvel [Thu, 31 Mar 2016 13:15:21 +0000 (15:15 +0200)]
Bumped version to 1.0 and taken it out of TESTING.

We're about to publish, so that makes it 1.0.

3 years agoAdded a README.md
Sybren A. Stüvel [Thu, 31 Mar 2016 13:14:59 +0000 (15:14 +0200)]
Added a README.md

3 years agoUsing setuptools to build a distributable zip.
Sybren A. Stüvel [Thu, 31 Mar 2016 13:14:52 +0000 (15:14 +0200)]
Using setuptools to build a distributable zip.

Just run "python setup.py bdist" and it will create a ZIP file in the
'dist' directory.

3 years agoIgnore test files and temporary directories.
Sybren A. Stüvel [Thu, 31 Mar 2016 13:07:32 +0000 (15:07 +0200)]
Ignore test files and temporary directories.

3 years agoRenamed module api to communication
Sybren A. Stüvel [Wed, 9 Mar 2016 08:54:34 +0000 (09:54 +0100)]
Renamed module api to communication

It doesn't provide an API for other Blender addons, so I found the name
confusing.

3 years agoAdded validation of auth tokens.
Sybren A. Stüvel [Mon, 7 Mar 2016 15:16:34 +0000 (16:16 +0100)]
Added validation of auth tokens.

Also moved some common Blender ID code to a mix-in class.

3 years agoCreate profiles.json with the correct permissions.
Sybren A. Stüvel [Mon, 7 Mar 2016 13:46:28 +0000 (14:46 +0100)]
Create profiles.json with the correct permissions.

It used to be a world-readable file, it's now user-readable only.

3 years agoMoved all files to a blender_id subdirectory
Sybren A. Stüvel [Mon, 7 Mar 2016 09:00:45 +0000 (10:00 +0100)]
Moved all files to a blender_id subdirectory

The directory containing the addon should be an importable Python
module. This will allow other addons to simply use "import blender_id"
and then use the API exposed by the addon. It also decouples the
project name on Github from the package name.

3 years agoUpdate __init__.py
Angus Hollands [Sat, 5 Mar 2016 15:15:08 +0000 (15:15 +0000)]
Update __init__.py

PEP8 changes to imports

3 years agoBumped version to 0.1.0 and added me as co-author
Sybren A. Stüvel [Mon, 7 Mar 2016 08:54:28 +0000 (09:54 +0100)]
Bumped version to 0.1.0 and added me as co-author

3 years agoReplaced SystemUtility and ProfilesUtility with modules.
Sybren A. Stüvel [Mon, 7 Mar 2016 08:54:03 +0000 (09:54 +0100)]
Replaced SystemUtility and ProfilesUtility with modules.

This removes the need to prevent instantiation, removes the @staticmethod
and @classmethod decorations, and makes the code simpler and more modular.

3 years agoOverwrite the password with a random string before clearing.
Sybren A. Stüvel [Fri, 4 Mar 2016 10:53:49 +0000 (11:53 +0100)]
Overwrite the password with a random string before clearing.

Just setting to '' might only replace the first byte with 0. Can't be
too careful.

3 years agoStore the profile.json file inside the Blender config directory
Sybren A. Stüvel [Fri, 4 Mar 2016 10:53:11 +0000 (11:53 +0100)]
Store the profile.json file inside the Blender config directory

Blender ensures that this directory is in the proper OS-specific location
for config files. It's now also dependent on the Blender version, like
other Blender config.

3 years agoImplemented special snowflake BlenderID authentication
Sybren A. Stüvel [Wed, 2 Mar 2016 16:15:20 +0000 (17:15 +0100)]
Implemented special snowflake BlenderID authentication

3 years agoRemoved unused variable
Sybren A. Stüvel [Wed, 2 Mar 2016 13:31:44 +0000 (14:31 +0100)]
Removed unused variable

3 years agoSecurity fix: erase password after logging in.
Sybren A. Stüvel [Wed, 2 Mar 2016 13:29:52 +0000 (14:29 +0100)]
Security fix: erase password after logging in.

This works around a potential bug in Blender, where even StringProperties
with a SKIP_SAVE option are actually saved.

3 years agoJSONDecodeError actually extends ValueError, so no need to catch both.
Sybren A. Stüvel [Wed, 2 Mar 2016 12:59:18 +0000 (13:59 +0100)]
JSONDecodeError actually extends ValueError, so no need to catch both.

3 years agoRemoved warning in PyCharm.
Sybren A. Stüvel [Wed, 2 Mar 2016 12:58:52 +0000 (13:58 +0100)]
Removed warning in PyCharm.

3 years agoSome code flow/layout optimization
Sybren A. Stüvel [Wed, 2 Mar 2016 13:34:43 +0000 (14:34 +0100)]
Some code flow/layout optimization

3 years agoTwo bugfixes, both some missing code.
Sybren A. Stüvel [Wed, 2 Mar 2016 12:52:54 +0000 (13:52 +0100)]
Two bugfixes, both some missing code.

3 years agoFix not remembering password on Blender restart
Ines Almeida [Mon, 1 Feb 2016 23:25:59 +0000 (23:25 +0000)]
Fix not remembering password on Blender restart