code cleanup: unused macros
[blender.git] / source / tests / batch_import.py
index 627acbcdb6cf36d9887efe9f7a8cce0b62d0042b..a2c5fb5905566c22e6fbd8bdb2483574dc85827c 100644 (file)
@@ -63,12 +63,12 @@ def clear_scene():
 
 
 def batch_import(operator="",
-                   path="",
-                   save_path="",
-                   match="",
-                   start=0,
-                   end=sys.maxsize,
-                   ):
+                 path="",
+                 save_path="",
+                 match="",
+                 start=0,
+                 end=sys.maxsize,
+                 ):
     import addon_utils
     _reset_all = addon_utils.reset_all  # XXX, hack
 
@@ -103,14 +103,16 @@ def batch_import(operator="",
     if len(files) != files_len:
         print(" using a subset in (%d, %d), total %d" % (start, end, len(files)), end="")
 
-    print("")
-
     import bpy
     op = eval(operator)
+
+    tot_done = 0
+    tot_fail = 0
+
     for i, f in enumerate(files):
         print("    %s(filepath=%r) # %d of %d" % (operator, f, i + start, len(files)))
 
-        # hack so loading the new file doesnt undo our loaded addons
+        # hack so loading the new file doesn't undo our loaded addons
         addon_utils.reset_all = lambda: None  # XXX, hack
 
         bpy.ops.wm.read_factory_settings()
@@ -118,7 +120,12 @@ def batch_import(operator="",
         addon_utils.reset_all = _reset_all  # XXX, hack
         clear_scene()
 
-        op(filepath=f)
+        result = op(filepath=f)
+
+        if 'FINISHED' in result:
+            tot_done += 1
+        else:
+            tot_fail += 1
 
         if save_path:
             fout = os.path.join(save_path, os.path.relpath(f, path))
@@ -127,11 +134,12 @@ def batch_import(operator="",
             print("\tSaving: %r" % fout_blend)
 
             fout_dir = os.path.dirname(fout_blend)
-            if not os.path.exists(fout_dir):
-                os.makedirs(fout_dir)
+            os.makedirs(fout_dir, exist_ok=True)
 
             bpy.ops.wm.save_as_mainfile(filepath=fout_blend)
 
+    print("finished, done:%d,  fail:%d" % (tot_done, tot_fail))
+
 
 def main():
     import optparse