diff options
author | Campbell Barton <ideasman42@gmail.com> | 2016-04-23 15:08:42 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2016-04-23 15:08:42 +0300 |
commit | 57d98a8048377a2bbf590769ea57872f811ce40b (patch) | |
tree | 2a6e9bea6cacc4b90101c344e80fcb65f35647a8 /source | |
parent | a3d67456cd44b7095217a54136ed67276c2eb0d1 (diff) |
PyAPI: support writing compressed library blends
Diffstat (limited to 'source')
-rw-r--r-- | source/blender/python/intern/bpy_library_write.c | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source/blender/python/intern/bpy_library_write.c b/source/blender/python/intern/bpy_library_write.c index ab239bbfa8c..b9ba54e0104 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); |