diff --git a/io_scene_vrm/__init__.py b/io_scene_vrm/__init__.py index ada4edc33..bc15d7af4 100644 --- a/io_scene_vrm/__init__.py +++ b/io_scene_vrm/__init__.py @@ -7,9 +7,10 @@ # # -# Please don't import anything in the global scope to minimize initialization and -# support unzipping the partial add-on archive for users who have acquired the add-on -# from "Code" -> "Download ZIP" on GitHub. +# - Please don't import anything in the global scope to minimize initialization and +# support unzipping the partial add-on archive for users who have acquired the add-on +# from "Code" -> "Download ZIP" on GitHub. +# - Please write this script to work with Blender 2.79. # # @@ -30,7 +31,7 @@ def register() -> None: - raise_error_if_current_blender_is_not_supported() + raise_error_if_unsupported() extract_github_private_partial_code_archive_if_necessary() # Lazy import to minimize initialization before blender version checking and @@ -41,32 +42,27 @@ def register() -> None: def unregister() -> None: - import bpy - - if bpy.app.version < minimum_supported_blender_version(): - return - # Lazy import to minimize initialization before blender version checking. from . import registration registration.unregister() -def minimum_supported_blender_version() -> tuple[int, int, int]: - blender = bl_info.get("blender") - if not isinstance(blender, tuple) or len(blender) != 3: +def raise_error_if_unsupported() -> None: + import bpy + + minimum_version = bl_info.get("blender") + if ( + not isinstance(minimum_version, tuple) + or len(minimum_version) != 3 + or not all(isinstance(v, int) for v in minimum_version) + ): raise AssertionError( # pylint: disable=consider-using-f-string; for legacy Blender versions - "Invalid version value: {}".format(blender), + "Invalid version value: {}".format(minimum_version), ) - major, minor, patch = blender - return (major, minor, patch) - - -def raise_error_if_current_blender_is_not_supported() -> None: - import bpy - if bpy.app.version >= minimum_supported_blender_version(): + if bpy.app.version >= minimum_version: return default_message = ( @@ -97,7 +93,7 @@ def raise_error_if_current_blender_is_not_supported() -> None: =========================================================== """.format( message.format( - minimum_version=".".join(map(str, bl_info["blender"])), + minimum_version=".".join(map(str, minimum_version)), current_version=".".join(map(str, bpy.app.version)), ) )