]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/export_scene.py
Some minor refactoring of the exporter
[libs/gl.git] / blender / io_mspgl / export_scene.py
index 7f4c183aee3fe47011b1b292916e299b86e16e04..63ca1f38ec2717f61c403c363677f89f5ff151c2 100644 (file)
@@ -10,24 +10,20 @@ class SceneExporter:
                self.show_progress = True
 
        def export_to_file(self, context, out_fn):
-               from .scene import create_scene_from_current
-               scene = create_scene_from_current(context, selected_only=self.selected_only, visible_only=self.visible_only)
-
-               path, base = os.path.split(out_fn)
-               base, ext = os.path.splitext(base)
-
                from .util import Progress
                progress = Progress(self.show_progress and context)
 
-               from .export import DataExporter
-               data_exporter = DataExporter()
+               from .scene import create_scene_from_current
+               scene = create_scene_from_current(context, selected_only=self.selected_only, visible_only=self.visible_only)
 
                resources = {}
-               data_exporter.export_resources(context, scene.prototypes, resources, None, progress)
+               self.export_scene_resources(context, scene, resources, progress)
                scene_res = self.export_scene(scene, resources)
-               refs = scene_res.collect_references()
                progress.set_progress(1.0)
 
+               path, base = os.path.split(out_fn)
+               base, ext = os.path.splitext(base)
+
                if self.collection:
                        existing = None
                        if self.skip_existing:
@@ -35,9 +31,15 @@ class SceneExporter:
                        scene_res.write_collection(out_fn, filter=existing)
                else:
                        scene_res.write_to_file(out_fn)
-                       for r in refs:
+                       for r in scene_res.collect_references():
                                r.write_to_file(os.path.join(path, r.name))
 
+       def export_scene_resources(self, context, scene, resources, progress):
+               from .export import DataExporter
+               data_exporter = DataExporter()
+
+               data_exporter.export_resources(context, scene.prototypes, resources, None, progress)
+
        def export_scene(self, scene, resources):
                from .datafile import Resource, Statement, Token
                scene_res = Resource(scene.name+".scene", "scene")