[Bf-blender-cvs] [dd2525c] master: Revert "Freestyle: lazy load 'export_svg'"

Campbell Barton noreply at git.blender.org
Sun Oct 19 19:13:56 CEST 2014


Commit: dd2525c3627344f4500d6d8292a741ce80c6bc44
Author: Campbell Barton
Date:   Sun Oct 19 19:09:18 2014 +0200
Branches: master
https://developer.blender.org/rBdd2525c3627344f4500d6d8292a741ce80c6bc44

Revert "Freestyle: lazy load 'export_svg'"

This reverts commit c35a649a0a6c3c07bb8d56caba680887f726b9e9.

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

M	release/scripts/freestyle/modules/export_svg.py
M	release/scripts/startup/freestyle_builtins.py

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

diff --git a/release/scripts/freestyle/modules/export_svg.py b/release/scripts/freestyle/modules/export_svg.py
index 9d6e13f..777fc73 100644
--- a/release/scripts/freestyle/modules/export_svg.py
+++ b/release/scripts/freestyle/modules/export_svg.py
@@ -23,6 +23,7 @@ import bpy
 import xml.etree.cElementTree as et
 
 from bpy.path import abspath
+from bpy.app.handlers import persistent
 from bpy_extras.object_utils import world_to_camera_view
 
 from freestyle.types import StrokeShader, BinaryPredicate1D, Interface0DIterator
@@ -265,10 +266,12 @@ def indent_xml(elem, level=0, indentsize=4):
 
 
 # - callbacks - #
-# called from: bpy.app.handlers.render_init
+ at persistent
 def svg_export_header(scene):
-    # create new file (overwrite existing)
     render = scene.render
+    if not (render.use_freestyle and render.use_svg_export):
+        return
+    # create new file (overwrite existing)
     width, height = render.resolution_x, render.resolution_y
     scale = render.resolution_percentage / 100
 
@@ -280,15 +283,16 @@ def svg_export_header(scene):
         print("SVG export: invalid path")
 
 
-# called from: bpy.app.handlers.render_complete
+ at persistent
 def svg_export_animation(scene):
-    # makes an animation of the exported SVG file
+    """makes an animation of the exported SVG file """
     render = scene.render
-    write_animation(abspath(render.svg_path), scene.frame_start, render.fps)
+    if render.use_freestyle and render.use_svg_export and render.svg_mode == 'ANIMATION':
+        write_animation(abspath(render.svg_path), scene.frame_start, render.fps)
 
 
 def write_animation(filepath, frame_begin, fps=25):
-    # Adds animate tags to the specified file.
+    """Adds animate tags to the specified file."""
     tree = et.parse(filepath)
     root = tree.getroot()
 
diff --git a/release/scripts/startup/freestyle_builtins.py b/release/scripts/startup/freestyle_builtins.py
index b6493e8..25d3077 100644
--- a/release/scripts/startup/freestyle_builtins.py
+++ b/release/scripts/startup/freestyle_builtins.py
@@ -20,39 +20,15 @@
 
 import bpy
 
-if bpy.app.build_options.freestyle:
-    from bpy.app.handlers import persistent
+from export_svg import svg_export_header, svg_export_animation
 
-    @persistent
-    def freestyle_render_init(scene):
-        render = scene.render
-        if render.use_freestyle:
-            if render.use_svg_export:
-                from export_svg import svg_export_header
-                svg_export_header(scene)
+def register():
+    bpy.app.handlers.render_init.append(svg_export_header)
+    bpy.app.handlers.render_complete.append(svg_export_animation)
 
-    @persistent
-    def freestyle_render_complete(scene):
-        render = scene.render
-        if render.use_freestyle:
-            if render.use_svg_export and render.svg_mode == 'ANIMATION':
-                from export_svg import svg_export_animation
-                svg_export_animation(scene)
-
-    def register():
-        bpy.app.handlers.render_init.append(freestyle_render_init)
-        bpy.app.handlers.render_complete.append(freestyle_render_complete)
-
-    def unregister():
-        bpy.app.handlers.render_init.remove(freestyle_render_init)
-        bpy.app.handlers.render_complete.remove(freestyle_render_complete)
-
-else:
-    def register():
-        pass
-
-    def unregister():
-        pass
+def unregister():
+    bpy.app.handlers.render_init.remove(svg_export_header)
+    bpy.app.handlers.render_complete.remove(svg_export_animation)
 
 if __name__ == '__main__':
     register()




More information about the Bf-blender-cvs mailing list