[Bf-extensions-cvs] [9bde6ff5] master: Sketchfab Exporter: Update panel Rename

lijenstina noreply at git.blender.org
Sat Jul 8 21:49:14 CEST 2017


Commit: 9bde6ff5aca89f7a713aa4eb141c81783d72d01d
Author: lijenstina
Date:   Sat Jul 8 21:48:15 2017 +0200
Branches: master
https://developer.blender.org/rBA9bde6ff5aca89f7a713aa4eb141c81783d72d01d

Sketchfab Exporter: Update panel Rename

Bumped version to 1.2.3
As a part of the task T50726:
Update the Panel rename code to more generic one
Use tuple imports for bpy.types
No other functional changes

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

M	io_online_sketchfab/__init__.py

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

diff --git a/io_online_sketchfab/__init__.py b/io_online_sketchfab/__init__.py
index 8f0d97e5..bad00e82 100644
--- a/io_online_sketchfab/__init__.py
+++ b/io_online_sketchfab/__init__.py
@@ -19,7 +19,7 @@
 bl_info = {
     "name": "Sketchfab Exporter",
     "author": "Bart Crouch",
-    "version": (1, 2, 2),
+    "version": (1, 2, 3),
     "blender": (2, 7, 0),
     "location": "Tools > File I/O tab",
     "description": "Upload your model to Sketchfab",
@@ -41,6 +41,13 @@ from bpy.props import (
         BoolProperty,
         PointerProperty,
         )
+from bpy.types import (
+        Operator,
+        Panel,
+        AddonPreferences,
+        PropertyGroup,
+        )
+
 
 SKETCHFAB_API_URL = "https://api.sketchfab.com"
 SKETCHFAB_API_MODELS_URL = SKETCHFAB_API_URL + "/v1/models"
@@ -76,6 +83,7 @@ class _SketchfabState:
         self.report_message = ""
         self.report_type = ''
 
+
 sf_state = _SketchfabState()
 del _SketchfabState
 
@@ -178,7 +186,7 @@ def upload(filepath, filename):
 
 
 # operator to export model to sketchfab
-class ExportSketchfab(bpy.types.Operator):
+class ExportSketchfab(Operator):
     """Upload your model to Sketchfab"""
     bl_idname = "export.sketchfab"
     bl_label = "Upload"
@@ -284,7 +292,7 @@ class ExportSketchfab(bpy.types.Operator):
 
 
 # user interface
-class VIEW3D_PT_sketchfab(bpy.types.Panel):
+class VIEW3D_PT_sketchfab(Panel):
     bl_space_type = 'VIEW_3D'
     bl_region_type = 'TOOLS'
     bl_category = "File I/O"
@@ -331,7 +339,7 @@ class VIEW3D_PT_sketchfab(bpy.types.Panel):
 
 
 # property group containing all properties for the user interface
-class SketchfabProps(bpy.types.PropertyGroup):
+class SketchfabProps(PropertyGroup):
     description = StringProperty(
             name="Description",
             description="Description of the model (optional)",
@@ -386,7 +394,7 @@ class SketchfabProps(bpy.types.PropertyGroup):
             )
 
 
-class SketchfabEmailToken(bpy.types.Operator):
+class SketchfabEmailToken(Operator):
     bl_idname = "wm.sketchfab_email_token"
     bl_label = "Enter your email to get a sketchfab token"
 
@@ -426,34 +434,51 @@ def terminate(filepath):
     os.rmdir(os.path.dirname(filepath))
 
 
-## Addons Preferences Update Panel
+# Add-ons Preferences Update Panel
+
+# Define Panel classes for updating
+panels = (
+        VIEW3D_PT_sketchfab,
+        )
+
+
 def update_panel(self, context):
+    message = "Sketchfab Exporter: Updating Panel locations has failed"
     try:
-        bpy.utils.unregister_class(VIEW3D_PT_sketchfab)
-    except:
+        for panel in panels:
+            if "bl_rna" in panel.__dict__:
+                bpy.utils.unregister_class(panel)
+
+        for panel in panels:
+            panel.bl_category = context.user_preferences.addons[__name__].preferences.category
+            bpy.utils.register_class(panel)
+
+    except Exception as e:
+        print("\n[{}]\n{}\n\nError:\n{}".format(__name__, message, e))
         pass
-    VIEW3D_PT_sketchfab.bl_category = context.user_preferences.addons[__name__].preferences.category
-    bpy.utils.register_class(VIEW3D_PT_sketchfab)
 
-class SfabAddonPreferences(bpy.types.AddonPreferences):
+
+class SfabAddonPreferences(AddonPreferences):
     # this must match the addon name, use '__package__'
     # when defining this in a submodule of a python package.
     bl_idname = __name__
 
-    category = bpy.props.StringProperty(
+    category = StringProperty(
             name="Tab Category",
             description="Choose a name for the category of the panel",
             default="File I/O",
-            update=update_panel)
+            update=update_panel
+            )
 
     def draw(self, context):
-
         layout = self.layout
+
         row = layout.row()
         col = row.column()
         col.label(text="Tab Category:")
         col.prop(self, "category", text="")
 
+
 # registration
 classes = (
     ExportSketchfab,
@@ -475,6 +500,7 @@ def register():
     bpy.app.handlers.load_post.append(load_token)
     update_panel(None, bpy.context)
 
+
 def unregister():
     for cls in classes:
         bpy.utils.unregister_class(cls)



More information about the Bf-extensions-cvs mailing list