[Bf-blender-cvs] [449fbde] master: Batch-previews generation: add option to control whether we save backup .blend1 file or not.

Bastien Montagne noreply at git.blender.org
Tue Mar 1 17:48:02 CET 2016


Commit: 449fbde7d12731019089e8bf008667f44e859e09
Author: Bastien Montagne
Date:   Tue Mar 1 17:46:21 2016 +0100
Branches: master
https://developer.blender.org/rB449fbde7d12731019089e8bf008667f44e859e09

Batch-previews generation: add option to control whether we save backup .blend1 file or not.

Requested by Aaron Carlisle (@blendify) over IRC.

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

M	release/scripts/modules/bl_previews_utils/bl_previews_render.py
M	release/scripts/startup/bl_operators/file.py

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

diff --git a/release/scripts/modules/bl_previews_utils/bl_previews_render.py b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
index beee78b..674c1c0 100644
--- a/release/scripts/modules/bl_previews_utils/bl_previews_render.py
+++ b/release/scripts/modules/bl_previews_utils/bl_previews_render.py
@@ -471,14 +471,26 @@ def main():
     argv = sys.argv[sys.argv.index("--") + 1:] if "--" in sys.argv else []
 
     parser = argparse.ArgumentParser(description="Use Blender to generate previews for currently open Blender file's items.")
-    parser.add_argument('--clear', default=False, action="store_true", help="Clear previews instead of generating them.")
-    parser.add_argument('--no_scenes', default=True, action="store_false", help="Do not generate/clear previews for scene IDs.")
-    parser.add_argument('--no_groups', default=True, action="store_false", help="Do not generate/clear previews for group IDs.")
-    parser.add_argument('--no_objects', default=True, action="store_false", help="Do not generate/clear previews for object IDs.")
+    parser.add_argument('--clear', default=False, action="store_true",
+                        help="Clear previews instead of generating them.")
+    parser.add_argument('--no_backups', default=False, action="store_true",
+                        help="Do not generate a backup .blend1 file when saving processed ones.")
+    parser.add_argument('--no_scenes', default=True, action="store_false",
+                        help="Do not generate/clear previews for scene IDs.")
+    parser.add_argument('--no_groups', default=True, action="store_false",
+                        help="Do not generate/clear previews for group IDs.")
+    parser.add_argument('--no_objects', default=True, action="store_false",
+                        help="Do not generate/clear previews for object IDs.")
     parser.add_argument('--no_data_intern', default=True, action="store_false",
                         help="Do not generate/clear previews for mat/tex/image/etc. IDs (those handled by core Blender code).")
     args = parser.parse_args(argv)
 
+    orig_save_version = bpy.context.user_preferences.filepaths.save_version
+    if args.no_backups:
+        bpy.context.user_preferences.filepaths.save_version = 0
+    elif orig_save_version < 1:
+        bpy.context.user_preferences.filepaths.save_version = 1
+
     if args.clear:
         print("clear!")
         do_clear_previews(do_objects=args.no_objects, do_groups=args.no_groups, do_scenes=args.no_scenes,
@@ -488,6 +500,9 @@ def main():
         do_previews(do_objects=args.no_objects, do_groups=args.no_groups, do_scenes=args.no_scenes,
                     do_data_intern=args.no_data_intern)
 
+    # Not really necessary, but better be consistent.
+    bpy.context.user_preferences.filepaths.save_version = orig_save_version
+
 
 if __name__ == "__main__":
     print("\n\n *** Running {} *** \n".format(__file__))
diff --git a/release/scripts/startup/bl_operators/file.py b/release/scripts/startup/bl_operators/file.py
index efcc7d5..64cc0ae 100644
--- a/release/scripts/startup/bl_operators/file.py
+++ b/release/scripts/startup/bl_operators/file.py
@@ -86,6 +86,11 @@ class WM_OT_previews_batch_generate(Operator):
             name="Trusted Blend Files",
             description="Enable python evaluation for selected files",
             )
+    use_backups = BoolProperty(
+            default=True,
+            name="Save Backups",
+            description="Keep a backup (.blend1) version of the files when saving with generated previews",
+            )
 
     def invoke(self, context, event):
         context.window_manager.fileselect_add(self)
@@ -126,6 +131,8 @@ class WM_OT_previews_batch_generate(Operator):
                 cmd.append('--no_objects')
             if not self.use_intern_data:
                 cmd.append('--no_data_intern')
+            if not self.use_backups:
+                cmd.append("--no_backups")
             if subprocess.call(cmd):
                 self.report({'ERROR'}, "Previews generation process failed for file '%s'!" % blen_path)
                 context.window_manager.progress_end()
@@ -192,6 +199,11 @@ class WM_OT_previews_batch_clear(Operator):
             name="Trusted Blend Files",
             description="Enable python evaluation for selected files",
             )
+    use_backups = BoolProperty(
+            default=True,
+            name="Save Backups",
+            description="Keep a backup (.blend1) version of the files when saving with cleared previews",
+            )
 
     def invoke(self, context, event):
         context.window_manager.fileselect_add(self)
@@ -233,6 +245,8 @@ class WM_OT_previews_batch_clear(Operator):
                 cmd.append('--no_objects')
             if not self.use_intern_data:
                 cmd.append('--no_data_intern')
+            if not self.use_backups:
+                cmd.append("--no_backups")
             if subprocess.call(cmd):
                 self.report({'ERROR'}, "Previews clear process failed for file '%s'!" % blen_path)
                 context.window_manager.progress_end()




More information about the Bf-blender-cvs mailing list