diff options
author | Bastien Montagne <montagne29@wanadoo.fr> | 2016-03-01 19:46:21 +0300 |
---|---|---|
committer | Bastien Montagne <montagne29@wanadoo.fr> | 2016-03-01 19:46:21 +0300 |
commit | 449fbde7d12731019089e8bf008667f44e859e09 (patch) | |
tree | d6800521dcf6087aefdc6dc29e54976d1e3c675b /release | |
parent | 50500a43995d2acd2fb086f9aee86409cc83d400 (diff) |
Batch-previews generation: add option to control whether we save backup .blend1 file or not.
Requested by Aaron Carlisle (@blendify) over IRC.
Diffstat (limited to 'release')
-rw-r--r-- | release/scripts/modules/bl_previews_utils/bl_previews_render.py | 23 | ||||
-rw-r--r-- | release/scripts/startup/bl_operators/file.py | 14 |
2 files changed, 33 insertions, 4 deletions
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 beee78b3ce0..674c1c00ab1 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 efcc7d5c65e..64cc0aeddb3 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() |