[Bf-extensions-cvs] [51a6229] master: BugFix: fix for fake properties. Code Cleanup. Thanks Campbell.

Eugenio Pignataro noreply at git.blender.org
Sat Aug 30 22:07:06 CEST 2014


Commit: 51a62290dd57641dc465c9cc9611102a8d62c786
Author: Eugenio Pignataro
Date:   Sat Aug 30 17:06:53 2014 -0300
Branches: master
https://developer.blender.org/rBAC51a62290dd57641dc465c9cc9611102a8d62c786

BugFix: fix for fake properties. Code Cleanup. Thanks Campbell.

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

M	oscurart_tools/oscurart_render.py

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

diff --git a/oscurart_tools/oscurart_render.py b/oscurart_tools/oscurart_render.py
index 860aa95..5d76c5c 100644
--- a/oscurart_tools/oscurart_render.py
+++ b/oscurart_tools/oscurart_render.py
@@ -379,29 +379,54 @@ def defCopyRenderSettings(mode):
     sceneslist = bpy.data.scenes[:]
     sceneslist.remove(sc)    
 
-    excludes = {'name','objects', 'object_bases', 'has_multiple_engines', 'display_settings', 'broken_files', 'rna_type', 'frame_subframe', 'view_settings', 'tool_settings', 'render', 'user_clear', 'animation_data_create', 'collada_export', 'keying_sets', 'icon_props', 'image_settings', 'library', 'bake', 'active_layer', 'frame_current_final', 'sequence_editor_clear', 'rigidbody_world', 'unit_settings', 'orientations', '__slots__', 'ray_cast', 'sequencer_colorspace_settings', 'ffmpeg', ' [...]
-   
-
-    
+    excludes = {'name','objects', 'object_bases', 'has_multiple_engines', 'display_settings', 'broken_files', 'rna_type', 'frame_subframe', 'view_settings', 'tool_settings', 'render', 'user_clear', 'animation_data_create', 'collada_export', 'keying_sets', 'icon_props', 'image_settings', 'library', 'bake', 'active_layer', 'frame_current_final', 'sequence_editor_clear', 'rigidbody_world', 'unit_settings', 'orientations', '__slots__', 'ray_cast', 'sequencer_colorspace_settings', 'ffmpeg', ' [...]
+       
     
     if mode == "render":    
-        scenerenderdict = {prop : eval("bpy.context.scene.render.%s" % (prop)) for prop in dir(bpy.context.scene.render)}        
-        scenedict = {prop : eval("bpy.context.scene.%s" % (prop)) for prop in dir(bpy.context.scene) if prop not in excludes}
-        sceneimagesettingdict = {prop : eval("bpy.context.scene.render.image_settings.%s" % (prop)) for prop in dir(bpy.context.scene.render.image_settings)}        
-   
+        scenerenderdict = {}
+        scenedict = {}
+        sceneimagesettingdict = {}
+        for prop in dir(bpy.context.scene.render):
+            if prop not in excludes:
+                try:
+                    scenerenderdict[prop] = getattr(bpy.context.scene.render,prop) 
+                except:
+                    print("%s does not exist." % (prop))     
+
+        for prop in dir(bpy.context.scene):
+            if prop not in excludes:
+                try:
+                    scenedict[prop] = getattr(bpy.context.scene,prop) 
+                except:
+                    print("%s does not exist." % (prop))  
+                
+        for prop in dir(bpy.context.scene.render.image_settings):
+            if prop not in excludes:
+                try:
+                    sceneimagesettingdict[prop] = getattr(bpy.context.scene.render.image_settings,prop) 
+                except:
+                    print("%s does not exist." % (prop))   
+                                               
+        """    
+        scenerenderdict = {prop : getattr(bpy.context.scene.render,prop) for prop in dir(bpy.context.scene.render)}        
+        scenedict = {prop : getattr(bpy.context.scene,prop) for prop in dir(bpy.context.scene) if prop not in excludes}
+        sceneimagesettingdict = {prop : getattr(bpy.context.scene.render.image_settings,prop) for prop in dir(bpy.context.scene.render.image_settings)}        
+        """    
+        
         # render
         for escena in sceneslist:
             for prop,value in scenerenderdict.items():
                 try:
-                    setattr(escena.render, str(prop),value)
+                    setattr(escena.render, prop,value)
                 except:
                     print("%s was not copied!" % (prop))
                     pass
+     
         # scene        
         for escena in sceneslist:    
             for prop,value in scenedict.items():
                 try:
-                    setattr(escena, str(prop),value)
+                    setattr(escena, prop,value)
                 except:
                     print("%s was not copied!" % (prop))
                     pass
@@ -409,18 +434,28 @@ def defCopyRenderSettings(mode):
         for escena in sceneslist:
             for prop,value in sceneimagesettingdict.items():  
                 try:
-                    setattr(escena.render.image_settings, str(prop),value)
+                    setattr(escena.render.image_settings, prop,value)
                 except:
                     print("%s was not copied!" % (prop))                             
-                    pass
+                    pass      
                     
     if mode == "cycles":  
-        scenecyclesdict = {prop : eval("bpy.context.scene.cycles.%s" % (prop)) for prop in dir(bpy.context.scene.cycles)}              
+        scenecyclesdict = {}
+        for prop in dir(bpy.context.scene.cycles):
+            if prop not in excludes:
+                try:
+                    scenecyclesdict[prop] = getattr(bpy.context.scene.cycles,prop) 
+                except:
+                    print("%s does not exist." % (prop))        
+        
+        """
+        scenecyclesdict = {prop : getattr(bpy.context.scene.cycles,prop) for prop in dir(bpy.context.scene.cycles)}  
+        """            
         # cycles
         for escena in sceneslist:
             for prop,value in scenecyclesdict.items():   
                 try:
-                    setattr(escena.cycles, str(prop),value)
+                    setattr(escena.cycles, prop,value)
                 except:
                     print("%s was not copied!" % (prop))                             
                     pass
@@ -439,3 +474,10 @@ class copyRenderSettings (bpy.types.Operator):
         defCopyRenderSettings(self.mode)
 
         return {'FINISHED'}
+
+
+
+
+
+
+



More information about the Bf-extensions-cvs mailing list