diff options
Diffstat (limited to 'uv_magic_uv/__init__.py')
-rw-r--r-- | uv_magic_uv/__init__.py | 81 |
1 files changed, 65 insertions, 16 deletions
diff --git a/uv_magic_uv/__init__.py b/uv_magic_uv/__init__.py index 080d2414..63591526 100644 --- a/uv_magic_uv/__init__.py +++ b/uv_magic_uv/__init__.py @@ -20,16 +20,16 @@ __author__ = "Nutti <nutti.metro@gmail.com>" __status__ = "production" -__version__ = "5.1" -__date__ = "24 Feb 2018" +__version__ = "5.2" +__date__ = "17 Nov 2018" bl_info = { "name": "Magic UV", "author": "Nutti, Mifth, Jace Priester, kgeogeo, mem, imdjs" "Keith (Wahooney) Boshoff, McBuff, MaxRobinot, Alexander Milovsky", - "version": (5, 1, 0), - "blender": (2, 79, 0), + "version": (5, 3, 0), + "blender": (2, 80, 0), "location": "See Add-ons Preferences", "description": "UV Toolset. See Add-ons Preferences for details", "warning": "", @@ -40,31 +40,80 @@ bl_info = { "category": "UV" } +def check_version(major, minor, _): + """ + Check blender version + """ + + if bpy.app.version[0] == major and bpy.app.version[1] == minor: + return 0 + if bpy.app.version[0] > major: + return 1 + if bpy.app.version[1] > minor: + return 1 + return -1 + + if "bpy" in locals(): import importlib - importlib.reload(op) - importlib.reload(ui) importlib.reload(common) - importlib.reload(preferences) - importlib.reload(properites) + importlib.reload(utils) + utils.bl_class_registry.BlClassRegistry.cleanup() + if check_version(2, 80, 0) >= 0: + importlib.reload(op) + importlib.reload(ui) + importlib.reload(properites) + importlib.reload(preferences) + importlib.reload(addon_updater_ops) + importlib.reload(addon_updater) + else: + importlib.reload(legacy) else: - from . import op - from . import ui + import bpy from . import common - from . import preferences - from . import properites + from . import utils + if check_version(2, 80, 0) >= 0: + from . import op + from . import ui + from . import properites + from . import preferences + from . import addon_updater_ops + from . import addon_updater + else: + from . import legacy + import bpy def register(): - bpy.utils.register_module(__name__) - properites.init_props(bpy.types.Scene) + if common.check_version(2, 80, 0) >= 0: + utils.bl_class_registry.BlClassRegistry.register() + properites.init_props(bpy.types.Scene) + if preferences.Preferences.enable_builtin_menu: + preferences.add_builtin_menu() + else: + utils.bl_class_registry.BlClassRegistry.register() + legacy.properites.init_props(bpy.types.Scene) + if legacy.preferences.Preferences.enable_builtin_menu: + legacy.preferences.add_builtin_menu() + if not common.is_console_mode(): + addon_updater_ops.register(bl_info) def unregister(): - bpy.utils.unregister_module(__name__) - properites.clear_props(bpy.types.Scene) + if common.check_version(2, 80, 0) >= 0: + if preferences.Preferences.enable_builtin_menu: + preferences.remove_builtin_menu() + properites.clear_props(bpy.types.Scene) + utils.bl_class_registry.BlClassRegistry.unregister() + else: + if not common.is_console_mode(): + addon_updater_ops.unregister() + if legacy.preferences.Preferences.enable_builtin_menu: + legacy.preferences.remove_builtin_menu() + legacy.properites.clear_props(bpy.types.Scene) + utils.bl_class_registry.BlClassRegistry.unregister() if __name__ == "__main__": |