From dd2525c3627344f4500d6d8292a741ce80c6bc44 Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Sun, 19 Oct 2014 19:09:18 +0200 Subject: Revert "Freestyle: lazy load 'export_svg'" This reverts commit c35a649a0a6c3c07bb8d56caba680887f726b9e9. --- release/scripts/freestyle/modules/export_svg.py | 16 +++++++---- release/scripts/startup/freestyle_builtins.py | 38 +++++-------------------- 2 files changed, 17 insertions(+), 37 deletions(-) (limited to 'release') diff --git a/release/scripts/freestyle/modules/export_svg.py b/release/scripts/freestyle/modules/export_svg.py index 9d6e13f4bd6..777fc736d20 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 +@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 +@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 b6493e86979..25d30771e39 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() -- cgit v1.2.3