[Bf-extensions-cvs] [3c5d373f] blender-v3.0-release: Magic UV: Remove online updater

Thomas Dinges noreply at git.blender.org
Wed Nov 24 14:31:00 CET 2021


Commit: 3c5d373fc4dabd7a27da58113d05df8990f745dc
Author: Thomas Dinges
Date:   Wed Nov 24 14:29:16 2021 +0100
Branches: blender-v3.0-release
https://developer.blender.org/rBA3c5d373fc4dabd7a27da58113d05df8990f745dc

Magic UV: Remove online updater

 Add-ons should not connect to external services outside of blender.org
 See new key requirements: https://wiki.blender.org/wiki/Process/Addons

===================================================================

M	magic_uv/__init__.py
M	magic_uv/preferences.py
D	magic_uv/updater.py
M	magic_uv/utils/__init__.py
D	magic_uv/utils/addon_updater.py

===================================================================

diff --git a/magic_uv/__init__.py b/magic_uv/__init__.py
index d0b8ae45..f31ad26b 100644
--- a/magic_uv/__init__.py
+++ b/magic_uv/__init__.py
@@ -52,7 +52,6 @@ if "bpy" in locals():
     importlib.reload(ui)
     importlib.reload(properites)
     importlib.reload(preferences)
-    importlib.reload(updater)
 else:
     import bpy
     from . import common
@@ -61,14 +60,11 @@ else:
     from . import ui
     from . import properites
     from . import preferences
-    from . import updater
 
 import bpy
 
 
 def register():
-    updater.register_updater(bl_info)
-
     utils.bl_class_registry.BlClassRegistry.register()
     properites.init_props(bpy.types.Scene)
     user_prefs = utils.compatibility.get_user_preferences(bpy.context)
diff --git a/magic_uv/preferences.py b/magic_uv/preferences.py
index 21f70508..7d6ac957 100644
--- a/magic_uv/preferences.py
+++ b/magic_uv/preferences.py
@@ -59,9 +59,7 @@ from .ui.IMAGE_MT_uvs import (
     MUV_MT_UVInspection,
 )
 from .utils.bl_class_registry import BlClassRegistry
-from .utils.addon_updater import AddonUpdaterManager
 from .utils import compatibility as compat
-from . import updater
 
 
 def view3d_uvmap_menu_fn(self, context):
@@ -169,14 +167,6 @@ def remove_builtin_menu():
     bpy.types.VIEW3D_MT_uv_map.remove(view3d_uvmap_menu_fn)
 
 
-def get_update_candidate_branches(_, __):
-    manager = AddonUpdaterManager.get_instance()
-    if not manager.candidate_checked():
-        return []
-
-    return [(name, name, "") for name in manager.get_candidate_branch_names()]
-
-
 def set_debug_mode(self, value):
     self['enable_debug_mode'] = value
 
@@ -301,7 +291,6 @@ class MUV_Preferences(AddonPreferences):
         items=[
             ('INFO', "Information", "Information about this add-on"),
             ('CONFIG', "Configuration", "Configuration about this add-on"),
-            ('UPDATE', "Update", "Update this add-on"),
         ],
         default='INFO'
     )
@@ -336,13 +325,6 @@ class MUV_Preferences(AddonPreferences):
         default=False
     )
 
-    # for add-on updater
-    updater_branch_to_update = EnumProperty(
-        name="branch",
-        description="Target branch to update add-on",
-        items=get_update_candidate_branches
-    )
-
     def draw(self, _):
         layout = self.layout
 
@@ -520,6 +502,3 @@ class MUV_Preferences(AddonPreferences):
                 col.prop(self, "uv_bounding_box_cp_size")
                 col.prop(self, "uv_bounding_box_cp_react_size")
                 layout.separator()
-
-        elif self.category == 'UPDATE':
-            updater.draw_updater_ui(self)
diff --git a/magic_uv/updater.py b/magic_uv/updater.py
deleted file mode 100644
index 72d85766..00000000
--- a/magic_uv/updater.py
+++ /dev/null
@@ -1,144 +0,0 @@
-# <pep8-80 compliant>
-
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-#  This program is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation; either version 2
-#  of the License, or (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software Foundation,
-#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-__author__ = "Nutti <nutti.metro at gmail.com>"
-__status__ = "production"
-__version__ = "6.5"
-__date__ = "6 Mar 2021"
-
-import os
-
-import bpy
-from bpy.props import (
-    StringProperty,
-)
-
-from .utils.bl_class_registry import BlClassRegistry
-from .utils.addon_updater import (
-    AddonUpdaterManager,
-    AddonUpdaterConfig,
-    get_separator,
-)
-from .utils import compatibility as compat
-
-
- at BlClassRegistry()
-class MUV_OT_CheckAddonUpdate(bpy.types.Operator):
-    bl_idname = "uv.muv_check_addon_update"
-    bl_label = "Check Update"
-    bl_description = "Check Add-on Update"
-    bl_options = {'REGISTER', 'UNDO'}
-
-    def execute(self, _):
-        updater = AddonUpdaterManager.get_instance()
-        updater.check_update_candidate()
-
-        return {'FINISHED'}
-
-
- at BlClassRegistry()
- at compat.make_annotations
-class MUV_OT_UpdateAddon(bpy.types.Operator):
-    bl_idname = "uv.muv_update_addon"
-    bl_label = "Update"
-    bl_description = "Update Add-on"
-    bl_options = {'REGISTER', 'UNDO'}
-
-    branch_name = StringProperty(
-        name="Branch Name",
-        description="Branch name to update",
-        default="",
-    )
-
-    def execute(self, _):
-        updater = AddonUpdaterManager.get_instance()
-        updater.update(self.branch_name)
-
-        return {'FINISHED'}
-
-
-def draw_updater_ui(prefs_obj):
-    layout = prefs_obj.layout
-    updater = AddonUpdaterManager.get_instance()
-
-    layout.separator()
-
-    if not updater.candidate_checked():
-        col = layout.column()
-        col.scale_y = 2
-        row = col.row()
-        row.operator(MUV_OT_CheckAddonUpdate.bl_idname,
-                     text="Check 'Magic UV' add-on update",
-                     icon='FILE_REFRESH')
-    else:
-        row = layout.row(align=True)
-        row.scale_y = 2
-        col = row.column()
-        col.operator(MUV_OT_CheckAddonUpdate.bl_idname,
-                     text="Check 'Magic UV' add-on update",
-                     icon='FILE_REFRESH')
-        col = row.column()
-        if updater.latest_version() != "":
-            col.enabled = True
-            ops = col.operator(
-                MUV_OT_UpdateAddon.bl_idname,
-                text="Update to the latest release version (version: {})"
-                .format(updater.latest_version()),
-                icon='TRIA_DOWN_BAR')
-            ops.branch_name = updater.latest_version()
-        else:
-            col.enabled = False
-            col.operator(MUV_OT_UpdateAddon.bl_idname,
-                         text="No updates are available.")
-
-        layout.separator()
-        layout.label(text="Manual Update:")
-        row = layout.row(align=True)
-        row.prop(prefs_obj, "updater_branch_to_update", text="Target")
-        ops = row.operator(
-            MUV_OT_UpdateAddon.bl_idname, text="Update",
-            icon='TRIA_DOWN_BAR')
-        ops.branch_name = prefs_obj.updater_branch_to_update
-
-        layout.separator()
-        if updater.has_error():
-            box = layout.box()
-            box.label(text=updater.error(), icon='CANCEL')
-        elif updater.has_info():
-            box = layout.box()
-            box.label(text=updater.info(), icon='ERROR')
-
-
-def register_updater(bl_info):
-    config = AddonUpdaterConfig()
-    config.owner = "nutti"
-    config.repository = "Magic-UV"
-    config.current_addon_path = os.path.dirname(os.path.realpath(__file__))
-    config.branches = ["master"]
-    config.addon_directory = \
-        config.current_addon_path[
-            :config.current_addon_path.rfind(get_separator())]
-    config.min_release_version = bl_info["version"]
-    config.default_target_addon_path = "magic_uv"
-    config.target_addon_path = {
-        "master": "src{}magic_uv".format(get_separator()),
-    }
-    updater = AddonUpdaterManager.get_instance()
-    updater.init(bl_info, config)
diff --git a/magic_uv/utils/__init__.py b/magic_uv/utils/__init__.py
index 776c7564..87c6eacb 100644
--- a/magic_uv/utils/__init__.py
+++ b/magic_uv/utils/__init__.py
@@ -25,12 +25,10 @@ __date__ = "6 Mar 2021"
 
 if "bpy" in locals():
     import importlib
-    importlib.reload(addon_updater)
     importlib.reload(bl_class_registry)
     importlib.reload(compatibility)
     importlib.reload(property_class_registry)
 else:
-    from . import addon_updater
     from . import bl_class_registry
     from . import compatibility
     from . import property_class_registry
diff --git a/magic_uv/utils/addon_updater.py b/magic_uv/utils/addon_updater.py
deleted file mode 100644
index 8c1601b8..00000000
--- a/magic_uv/utils/addon_updater.py
+++ /dev/null
@@ -1,372 +0,0 @@
-# <pep8-80 compliant>
-
-# ##### BEGIN GPL LICENSE BLOCK #####
-#
-#  This program is free software; you can redistribute it and/or
-#  modify it under the terms of the GNU General Public License
-#  as published by the Free Software Foundation; either version 2
-#  of the License, or (at your option) any later version.
-#
-#  This program is distributed in the hope that it will be useful,
-#  but WITHOUT ANY WARRANTY; without even the implied warranty of
-#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-#  GNU General Public License for more details.
-#
-#  You should have received a copy of the GNU General Public License
-#  along with this program; if not, write to the Free Software Foundation,
-#  Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-#
-# ##### END GPL LICENSE BLOCK #####
-
-__author__ = "Nutti <nutti.metro at gmail.com>"
-__status__ = "production"
-__version__ = "6.5"
-__date__ = "6 Mar 2021"
-
-from threading import Lock
-import urllib
-import urllib.request
-import ssl
-import json
-import os
-import zipfile
-import shutil
-import datetime
-
-
-def get_separator():
-    if os.name == "nt":
-        return "\\"
-    return "/"
-
-
-def _request(url, json_decode=True):
-    # pylint: disable=W0212
-    ssl._create_default_https_context = ssl._create_unverified_context
-    req = urllib.request.Request(url)
-
-    try:
-        result = urllib.request.urlopen(req)
-    except urllib.error.HTTPError as e:
-        raise RuntimeError("HTTP error ({})".format(str(e.code)))
-    except urllib.error.URLError as e:
-        raise RuntimeError("URL error ({})".format(str(e.reason)))
-
-    data = result.read()
-    result.close()
-
-    if json_decode:
-        try:
-            return json.JSONDecoder().decode(data.decode())
-        except Exception as e:
-            raise RuntimeError("API response has invalid JSON format ({})"
-                               .format(s

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-extensions-cvs mailing list