[Bf-blender-cvs] [57d98a8] master: PyAPI: support writing compressed library blends

Campbell Barton noreply at git.blender.org
Sat Apr 23 14:07:33 CEST 2016


Commit: 57d98a8048377a2bbf590769ea57872f811ce40b
Author: Campbell Barton
Date:   Sat Apr 23 22:08:42 2016 +1000
Branches: master
https://developer.blender.org/rB57d98a8048377a2bbf590769ea57872f811ce40b

PyAPI: support writing compressed library blends

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

M	source/blender/python/intern/bpy_library_write.c

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

diff --git a/source/blender/python/intern/bpy_library_write.c b/source/blender/python/intern/bpy_library_write.c
index ab239bb..b9ba54e 100644
--- a/source/blender/python/intern/bpy_library_write.c
+++ b/source/blender/python/intern/bpy_library_write.c
@@ -66,13 +66,15 @@ PyDoc_STRVAR(bpy_lib_write_doc,
 "   :type relative_remap: bool\n"
 "   :arg fake_user: When True, data-blocks will be written with fake-user flag enabled.\n"
 "   :type fake_user: bool\n"
+"   :arg compress: When True, write a compressed blend file.\n"
+"   :type compress: bool\n"
 );
 static PyObject *bpy_lib_write(PyObject *UNUSED(self), PyObject *args, PyObject *kwds)
 {
 	static const char *kwlist[] = {
 		"filepath", "datablocks",
 		/* optional */
-		"relative_remap", "fake_user",
+		"relative_remap", "fake_user", "compress",
 		NULL,
 	};
 
@@ -80,15 +82,16 @@ static PyObject *bpy_lib_write(PyObject *UNUSED(self), PyObject *args, PyObject
 	const char *filepath;
 	char filepath_abs[FILE_MAX];
 	PyObject *datablocks = NULL;
-	bool use_relative_remap = false, use_fake_user = false;
+	bool use_relative_remap = false, use_fake_user = false, use_compress = false;
 
 	if (!PyArg_ParseTupleAndKeywords(
 	        args, kwds,
-	        "sO!|$O&O&:write", (char **)kwlist,
+	        "sO!|$O&O&O&:write", (char **)kwlist,
 	        &filepath,
 	        &PySet_Type, &datablocks,
 	        PyC_ParseBool, &use_relative_remap,
-	        PyC_ParseBool, &use_fake_user))
+	        PyC_ParseBool, &use_fake_user,
+	        PyC_ParseBool, &use_compress))
 	{
 		return NULL;
 	}
@@ -100,6 +103,10 @@ static PyObject *bpy_lib_write(PyObject *UNUSED(self), PyObject *args, PyObject
 		write_flags |= G_FILE_RELATIVE_REMAP;
 	}
 
+	if (use_compress) {
+		write_flags |= G_FILE_COMPRESS;
+	}
+
 	BLI_strncpy(filepath_abs, filepath, FILE_MAX);
 	BLI_path_abs(filepath_abs, G.main->name);




More information about the Bf-blender-cvs mailing list