blender-id-addon.git
4 weeks agoBumped version to 1.9.999 master version-1.9.999
Sybren A. Stüvel [Thu, 23 May 2019 12:21:59 +0000 (14:21 +0200)]
Bumped version to 1.9.999

4 weeks agoUse the new URL https://id.blender.org/ for communication with Blender ID
Sybren A. Stüvel [Thu, 23 May 2019 12:21:23 +0000 (14:21 +0200)]
Use the new URL https://id.blender.org/ for communication with Blender ID

5 weeks agoBumped version to 1.9.99
Sybren A. Stüvel [Thu, 16 May 2019 10:37:38 +0000 (12:37 +0200)]
Bumped version to 1.9.99

5 weeks agoInclude Blender and add-on version in User-Agent header
Sybren A. Stüvel [Thu, 16 May 2019 10:36:46 +0000 (12:36 +0200)]
Include Blender and add-on version in User-Agent header

This allows us to see which versions of the add-on are in active use, so
that at some point we can stop supporting outdated or unused versions.

5 weeks agoAutomatically retry failed connections to Blender ID for more stability
Sybren A. Stüvel [Thu, 16 May 2019 10:35:07 +0000 (12:35 +0200)]
Automatically retry failed connections to Blender ID for more stability

Requests are retried 10x with an exponential backoff. This will make short
interruptions in Blender ID service (for example quickly restarting the
server process) transparent to users.

4 months agocontext.user_preferences was renamed to context.preferences
Sybren A. Stüvel [Wed, 13 Feb 2019 10:56:39 +0000 (11:56 +0100)]
context.user_preferences was renamed to context.preferences

4 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.

7 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

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

7 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

9 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

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

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

9 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.

11 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

11 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.

18 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

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

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

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

18 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

18 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

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

18 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.

18 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.

2 years 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

2 years 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

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

2 years 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.

2 years 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.

2 years 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.

2 years 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()

2 years 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

2 years 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

2 years 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

2 years 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.

2 years 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.

2 years 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

3 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

3 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'

3 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.

3 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.

3 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

3 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

3 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

3 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.