Magic UV: Release v6.2

Fix bugs
This commit is contained in:
nutti 2019-07-31 10:17:05 +09:00
parent c03650a2e9
commit e24da4d87c
45 changed files with 130 additions and 117 deletions

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
bl_info = {
@ -29,7 +29,7 @@ bl_info = {
"author": "Nutti, Mifth, Jace Priester, kgeogeo, mem, imdjs"
"Keith (Wahooney) Boshoff, McBuff, MaxRobinot, "
"Alexander Milovsky",
"version": (6, 1, 0),
"version": (6, 2, 0),
"blender": (2, 80, 0),
"location": "See Add-ons Preferences",
"description": "UV Toolset. See Add-ons Preferences for details",
@ -76,10 +76,7 @@ def register():
def unregister():
user_prefs = utils.compatibility.get_user_preferences(bpy.context)
preferences.remove_builtin_menu()
properites.clear_props(bpy.types.Scene)
utils.bl_class_registry.BlClassRegistry.unregister()

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from collections import defaultdict
from pprint import pprint

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
if "bpy" in locals():
import importlib

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
if "bpy" in locals():
import importlib

View File

@ -20,8 +20,8 @@
__author__ = "imdjs, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import math
from math import atan2, tan, sin, cos

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from mathutils import Vector

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>, Jace Priester"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bmesh
import bpy.utils

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bmesh
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "imdjs, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import math
from math import atan2, sin, cos

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
import bmesh

View File

@ -20,8 +20,8 @@
__author__ = "Keith (Wahooney) Boshoff, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import (

View File

@ -20,8 +20,8 @@
__author__ = "kgeogeo, mem, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import BoolProperty

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from math import fabs

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import StringProperty, EnumProperty, BoolProperty

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import BoolProperty

View File

@ -20,8 +20,8 @@
__author__ = "imdjs, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import BoolProperty, FloatProperty

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import math
from math import atan2, cos, sqrt, sin, fabs

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from collections import namedtuple

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import (

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>, Mifth, MaxRobinot"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from collections import OrderedDict

View File

@ -18,8 +18,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import (

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from enum import IntEnum
import math

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import BoolProperty, EnumProperty

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from math import pi, cos, tan, sin

View File

@ -20,8 +20,8 @@
__author__ = "Alexander Milovsky, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from math import sin, cos, pi

View File

@ -20,8 +20,8 @@
__author__ = "McBuff, Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from math import sqrt

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
from bpy.props import (
@ -58,7 +58,7 @@ from .ui.IMAGE_MT_uvs import (
MUV_MT_UVInspection,
)
from .utils.bl_class_registry import BlClassRegistry
from .utils.addon_updator import AddonUpdatorManager
from .utils.addon_updater import AddonUpdaterManager
from .utils import compatibility as compat
from . import updater
@ -165,7 +165,7 @@ def remove_builtin_menu():
def get_update_candidate_branches(_, __):
manager = AddonUpdatorManager.get_instance()
manager = AddonUpdaterManager.get_instance()
if not manager.candidate_checked():
return []

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from .utils.property_class_registry import PropertyClassRegistry

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy.utils

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
if "bpy" in locals():
import importlib

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import os
@ -31,9 +31,9 @@ from bpy.props import (
)
from .utils.bl_class_registry import BlClassRegistry
from .utils.addon_updator import (
AddonUpdatorManager,
AddonUpdatorConfig,
from .utils.addon_updater import (
AddonUpdaterManager,
AddonUpdaterConfig,
get_separator,
)
from .utils import compatibility as compat
@ -47,7 +47,7 @@ class MUV_OT_CheckAddonUpdate(bpy.types.Operator):
bl_options = {'REGISTER', 'UNDO'}
def execute(self, _):
updater = AddonUpdatorManager.get_instance()
updater = AddonUpdaterManager.get_instance()
updater.check_update_candidate()
return {'FINISHED'}
@ -68,7 +68,7 @@ class MUV_OT_UpdateAddon(bpy.types.Operator):
)
def execute(self, _):
updater = AddonUpdatorManager.get_instance()
updater = AddonUpdaterManager.get_instance()
updater.update(self.branch_name)
return {'FINISHED'}
@ -76,7 +76,7 @@ class MUV_OT_UpdateAddon(bpy.types.Operator):
def draw_updater_ui(prefs_obj):
layout = prefs_obj.layout
updater = AddonUpdatorManager.get_instance()
updater = AddonUpdaterManager.get_instance()
layout.separator()
@ -127,7 +127,7 @@ def draw_updater_ui(prefs_obj):
def register_updater(bl_info):
config = AddonUpdatorConfig()
config = AddonUpdaterConfig()
config.owner = "nutti"
config.repository = "Magic-UV"
config.current_addon_path = os.path.dirname(os.path.realpath(__file__))
@ -136,6 +136,10 @@ def register_updater(bl_info):
config.current_addon_path[
:config.current_addon_path.rfind(get_separator())]
config.min_release_version = bl_info["version"]
config.target_addon_path = "src/magic_uv"
updater = AddonUpdatorManager.get_instance()
config.default_target_addon_path = "magic_uv"
config.target_addon_path = {
"master": "src{}magic_uv".format(get_separator()),
"develop": "src{}magic_uv".format(get_separator()),
}
updater = AddonUpdaterManager.get_instance()
updater.init(bl_info, config)

View File

@ -20,17 +20,17 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
if "bpy" in locals():
import importlib
importlib.reload(addon_updator)
importlib.reload(addon_updater)
importlib.reload(bl_class_registry)
importlib.reload(compatibility)
importlib.reload(property_class_registry)
else:
from . import addon_updator
from . import addon_updater
from . import bl_class_registry
from . import compatibility
from . import property_class_registry

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from threading import Lock
import urllib
@ -75,7 +75,7 @@ def _download(url, path):
def _make_workspace_path(addon_dir):
return addon_dir + get_separator() + "addon_updator_workspace"
return addon_dir + get_separator() + "addon_updater_workspace"
def _make_workspace(addon_dir):
@ -161,7 +161,7 @@ def _compare_version(ver1, ver2):
return comp(ver1, ver2, 0)
class AddonUpdatorConfig:
class AddonUpdaterConfig:
def __init__(self):
# Name of owner
self.owner = ""
@ -179,7 +179,13 @@ class AddonUpdatorConfig:
self.min_release_version = (-1, -1)
# Target add-on path
self.target_addon_path = ""
# {"branch/tag": "add-on path"}
self.target_addon_path = {}
# Default target add-on path.
# Search this path if branch/tag is not found in
# self.target_addon_path.
self.default_target_addon_path = ""
# Current add-on path
self.current_addon_path = ""
@ -195,7 +201,7 @@ class UpdateCandidateInfo:
self.group = "" # BRANCH|RELEASE
class AddonUpdatorManager:
class AddonUpdaterManager:
__inst = None
__lock = Lock()
@ -240,7 +246,7 @@ class AddonUpdatorManager:
def check_update_candidate(self):
if not self.initialized():
raise RuntimeError("AddonUpdatorManager must be initialized")
raise RuntimeError("AddonUpdaterManager must be initialized")
self.__update_candidate = []
self.__candidate_checked = False
@ -293,7 +299,7 @@ class AddonUpdatorManager:
def update(self, version_name):
if not self.initialized():
raise RuntimeError("AddonUpdatorManager must be initialized.")
raise RuntimeError("AddonUpdaterManager must be initialized.")
if not self.candidate_checked():
raise RuntimeError("Update candidate is not checked.")
@ -315,14 +321,20 @@ class AddonUpdatorManager:
# download add-on
_download_addon(self.__config.addon_directory, info.url)
# get add-on path
if info.name in self.__config.target_addon_path:
addon_path = self.__config.target_addon_path[info.name]
else:
addon_path = self.__config.default_target_addon_path
# replace add-on
offset_path = ""
if info.group == 'BRANCH':
offset_path = "{}-{}{}{}".format(
self.__config.repository, info.name, get_separator(),
self.__config.target_addon_path)
addon_path)
elif info.group == 'RELEASE':
offset_path = self.__config.target_addon_path
offset_path = addon_path
_replace_addon(self.__config.addon_directory,
info, self.__config.current_addon_path,
offset_path)
@ -337,7 +349,7 @@ class AddonUpdatorManager:
def get_candidate_branch_names(self):
if not self.initialized():
raise RuntimeError("AddonUpdatorManager must be initialized.")
raise RuntimeError("AddonUpdaterManager must be initialized.")
if not self.candidate_checked():
raise RuntimeError("Update candidate is not checked.")

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
import bpy
import bgl
@ -81,7 +81,7 @@ def matmul(m1, m2):
def layout_split(layout, factor=0.0, align=False):
if check_version(2, 80, 0) < 0:
return layout.split(factor=factor, align=align)
return layout.split(percentage=factor, align=align)
return layout.split(factor=factor, align=align)

View File

@ -20,8 +20,8 @@
__author__ = "Nutti <nutti.metro@gmail.com>"
__status__ = "production"
__version__ = "6.1"
__date__ = "19 May 2019"
__version__ = "6.2"
__date__ = "31 Jul 2019"
from .. import common