[Bf-extensions-cvs] [a8859502] master: POV : fix registering
Maurice Raybaud
noreply at git.blender.org
Thu May 27 18:36:26 CEST 2021
Commit: a885950276ea98dfa6a67c6d035198b59692a658
Author: Maurice Raybaud
Date: Thu May 27 18:36:18 2021 +0200
Branches: master
https://developer.blender.org/rBAa885950276ea98dfa6a67c6d035198b59692a658
POV : fix registering
Fix : Removed some duplicate class that caused addon register /
unregister to fail after previous commit
===================================================================
M render_povray/__init__.py
M render_povray/object_gui.py
M render_povray/object_primitives.py
M render_povray/render.py
M render_povray/render_gui.py
M render_povray/render_properties.py
M render_povray/scenography.py
M render_povray/scenography_gui.py
M render_povray/scenography_properties.py
M render_povray/scripting.py
M render_povray/scripting_gui.py
M render_povray/scripting_properties.py
M render_povray/shading_gui.py
M render_povray/shading_nodes.py
M render_povray/texturing_gui.py
M render_povray/texturing_properties.py
===================================================================
diff --git a/render_povray/__init__.py b/render_povray/__init__.py
index f0734c5f..21de6ff8 100755
--- a/render_povray/__init__.py
+++ b/render_povray/__init__.py
@@ -250,7 +250,8 @@ class POV_OT_update_addon(bpy.types.Operator):
with tempfile.TemporaryDirectory() as temp_dir_path:
temp_zip_path = os.path.join(temp_dir_path, 'master.zip')
- # Download zip archive of latest addons master branch commit (So we also get presets)
+ # Download zip archive of latest addons master branch commit
+ # More work needed so we also get the pov presets from addons shared folder.
# switch this URL back to the BF hosted one as soon as gitweb snapshot gets fixed
url = 'https://github.com/blender/blender-addons/archive/refs/heads/master.zip'
try:
@@ -397,7 +398,10 @@ class PovrayPreferences(bpy.types.AddonPreferences):
layout.operator("pov.update_addon", icon='FILE_REFRESH')
-classes = (POV_OT_update_addon, PovrayPreferences)
+classes = (
+ POV_OT_update_addon, # already registered as a subclass
+ PovrayPreferences
+)
def register():
@@ -410,7 +414,7 @@ def register():
texturing_properties.register()
object_properties.register()
scripting_properties.register()
- scenography.register()
+ #scenography.register()
render.register()
base_ui.register()
scripting.register()
@@ -422,7 +426,7 @@ def unregister():
scripting.unregister()
base_ui.unregister()
render.unregister()
- scenography.unregister()
+ #scenography.unregister()
scripting_properties.unregister()
object_properties.unregister()
texturing_properties.unregister()
@@ -430,7 +434,7 @@ def unregister():
scenography_properties.unregister()
render_properties.unregister()
- for cls in reversed(classes):
+ for cls in classes:
unregister_class(cls)
diff --git a/render_povray/object_gui.py b/render_povray/object_gui.py
index 9fbf8a8b..bc7df9f4 100755
--- a/render_povray/object_gui.py
+++ b/render_povray/object_gui.py
@@ -34,8 +34,11 @@ from bl_ui import properties_data_modifier
for member in dir(properties_data_modifier):
subclass = getattr(properties_data_modifier, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
del properties_data_modifier
diff --git a/render_povray/object_primitives.py b/render_povray/object_primitives.py
index 4556f2df..fc6bafde 100755
--- a/render_povray/object_primitives.py
+++ b/render_povray/object_primitives.py
@@ -1769,5 +1769,5 @@ def register():
def unregister():
- for cls in classes:
+ for cls in reversed(classes):
unregister_class(cls)
diff --git a/render_povray/render.py b/render_povray/render.py
index 45a94912..7b6e5810 100755
--- a/render_povray/render.py
+++ b/render_povray/render.py
@@ -17,7 +17,9 @@
# #**** END GPL LICENSE BLOCK #****
# <pep8 compliant>
+
"""Wirte the POV file using this file's functions and some from other modules then render it."""
+
import bpy
import subprocess
import os
@@ -1807,7 +1809,11 @@ class RunPovTextRender(Operator):
return {'FINISHED'}
-classes = (PovrayRender, RenderPovTexturePreview, RunPovTextRender)
+classes = (
+ PovrayRender,
+ RenderPovTexturePreview,
+ RunPovTextRender,
+)
def register():
diff --git a/render_povray/render_gui.py b/render_povray/render_gui.py
index 018821cb..464ba367 100755
--- a/render_povray/render_gui.py
+++ b/render_povray/render_gui.py
@@ -36,26 +36,38 @@ from bl_ui import properties_output
for member in dir(properties_output):
subclass = getattr(properties_output, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_output
from bl_ui import properties_freestyle
for member in dir(properties_freestyle):
subclass = getattr(properties_freestyle, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
if not (subclass.bl_space_type == 'PROPERTIES' and subclass.bl_context == "render"):
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
# subclass.bl_parent_id = "RENDER_PT_POV_filter"
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_freestyle
from bl_ui import properties_view_layer
for member in dir(properties_view_layer):
subclass = getattr(properties_view_layer, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_view_layer
# Use some of the existing buttons.
@@ -440,13 +452,17 @@ if check_render_freestyle_svg():
'''
for member in dir(render_freestyle_svg):
subclass = getattr(render_freestyle_svg, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
if subclass.bl_idname == "RENDER_PT_SVGExporterPanel":
subclass.bl_parent_id = "RENDER_PT_POV_filter"
subclass.bl_options = {'HIDE_HEADER'}
# subclass.bl_order = 11
print(subclass.bl_info)
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
# del render_freestyle_svg.RENDER_PT_SVGExporterPanel.bl_parent_id
@@ -537,10 +553,10 @@ classes = (
def register():
for cls in classes:
register_class(cls)
- bpy.types.RENDER_PT_POV_radiosity.prepend(rad_panel_func)
+ RENDER_PT_POV_radiosity.prepend(rad_panel_func)
def unregister():
- bpy.types.RENDER_PT_POV_radiosity.remove(rad_panel_func)
+ RENDER_PT_POV_radiosity.remove(rad_panel_func)
for cls in reversed(classes):
unregister_class(cls)
diff --git a/render_povray/render_properties.py b/render_povray/render_properties.py
index 9096c986..20e9761d 100755
--- a/render_povray/render_properties.py
+++ b/render_povray/render_properties.py
@@ -672,7 +672,9 @@ class RenderPovSettingsScene(PropertyGroup):
)
-classes = (RenderPovSettingsScene,)
+classes = (
+ RenderPovSettingsScene,
+)
def register():
diff --git a/render_povray/scenography.py b/render_povray/scenography.py
index 4b0c99e3..6c9aed80 100755
--- a/render_povray/scenography.py
+++ b/render_povray/scenography.py
@@ -23,7 +23,7 @@
with world, sky, atmospheric effects such as rainbows or smoke """
import bpy
-from bpy.utils import register_class, unregister_class
+
import os
from imghdr import what # imghdr is a python lib to identify image file types
from math import atan, pi, sqrt, degrees
@@ -832,16 +832,3 @@ def export_smoke(file, smoke_obj_name, smoke_path, comments, global_matrix, writ
# file.write(" frequency 0\n")
# file.write(" }\n")
# file.write("}\n")
-
-
-classes = ()
-
-
-def register():
- for cls in classes:
- register_class(cls)
-
-
-def unregister():
- for cls in classes:
- unregister_class(cls)
diff --git a/render_povray/scenography_gui.py b/render_povray/scenography_gui.py
index 6eb5aed9..41e25a21 100755
--- a/render_povray/scenography_gui.py
+++ b/render_povray/scenography_gui.py
@@ -31,8 +31,12 @@ from bl_ui import properties_data_camera
for member in dir(properties_data_camera):
subclass = getattr(properties_data_camera, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_data_camera
# ##################################
@@ -50,8 +54,12 @@ from bl_ui import properties_physics_common
for member in dir(properties_physics_common):
subclass = getattr(properties_physics_common, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_physics_common
# Physics Rigid Bodies wrapping every class 'as is'
@@ -59,8 +67,12 @@ from bl_ui import properties_physics_rigidbody
for member in dir(properties_physics_rigidbody):
subclass = getattr(properties_physics_rigidbody, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_physics_rigidbody
# Physics Rigid Body Constraint wrapping every class 'as is'
@@ -68,8 +80,12 @@ from bl_ui import properties_physics_rigidbody_constraint
for member in dir(properties_physics_rigidbody_constraint):
subclass = getattr(properties_physics_rigidbody_constraint, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_physics_rigidbody_constraint
# Physics Smoke and fluids wrapping every class 'as is'
@@ -77,8 +93,12 @@ from bl_ui import properties_physics_fluid
for member in dir(properties_physics_fluid):
subclass = getattr(properties_physics_fluid, member)
- if hasattr(subclass, "COMPAT_ENGINES"):
+ try:
subclass.COMPAT_ENGINES.add('POVRAY_RENDER')
+ except BaseException as e:
+ print(e.__doc__)
+ print('An exception occurred: {}'.format(e))
+ pass
del properties_physics_fluid
# Physics softbody wrapping every class 'as is'
@@ -86,8
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-extensions-cvs
mailing list