]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/export_scene.py
Improve progress reporting in the Blender exporter
[libs/gl.git] / blender / io_mspgl / export_scene.py
index 84e6be3e6aa40605f07d80ceeb895895db8c82ea..d51fb4718a0fdf1afda48a9587bf670dcbe3732e 100644 (file)
@@ -4,6 +4,7 @@ import os
 class SceneExporter:
        def __init__(self):
                self.resource_collection = True
+               self.show_progress = True
 
        def export(self, context, out_file):
                objs = context.selected_objects
@@ -43,14 +44,15 @@ class SceneExporter:
                                object_prototypes[c.name] = o
 
                from .util import Progress
-               progress = Progress(context)
+               progress = Progress(self.show_progress and context)
+
                if self.resource_collection:
                        res_out = open_output(os.path.join(path, base+"_resources.mdc"))
 
                        # TODO Export techniques as separate items in the collection
                        for i, o in enumerate(unique_objects):
                                res_out.begin("object", '"{}.object"'.format(o.name))
-                               progress.push_task(o.name, i/len(objs), (i+1)/len(objs))
+                               progress.push_task_slice(o.name, i, len(objs))
                                object_export.export(context, res_out, o, progress)
                                progress.pop_task()
                                res_out.end()
@@ -62,7 +64,7 @@ class SceneExporter:
                                os.makedirs(res_dir)
                        for i, o in enumerate(unique_objects):
                                obj_out = open_output(os.path.join(res_dir, o.name+".object"))
-                               progress.push_task(o.name, i/len(objs), (i+1)/len(objs))
+                               progress.push_task_slice(o.name, i, len(objs))
                                object_export.export(context, obj_out, o, progress)
                                progress.pop_task()