[Bf-blender-cvs] [3ac006b] ui-preview-buttons: move from bpy.app._previews to _bpy._utils_previews
Campbell Barton
noreply at git.blender.org
Mon May 11 15:28:56 CEST 2015
Commit: 3ac006b8d225037ef3821e6d316416e40365f745
Author: Campbell Barton
Date: Mon May 11 23:26:45 2015 +1000
Branches: ui-preview-buttons
https://developer.blender.org/rB3ac006b8d225037ef3821e6d316416e40365f745
move from bpy.app._previews to _bpy._utils_previews
since this is an internal module, having in bpy.app and hidden doesnt make so much sense.
===================================================================
M release/scripts/modules/bpy/utils/previews.py
M source/blender/python/intern/CMakeLists.txt
M source/blender/python/intern/bpy.c
M source/blender/python/intern/bpy_app.c
D source/blender/python/intern/bpy_app_previews.c
D source/blender/python/intern/bpy_app_previews.h
A source/blender/python/intern/bpy_utils_previews.c
A source/blender/python/intern/bpy_utils_previews.h
===================================================================
diff --git a/release/scripts/modules/bpy/utils/previews.py b/release/scripts/modules/bpy/utils/previews.py
index f64c3ca..e901e24 100644
--- a/release/scripts/modules/bpy/utils/previews.py
+++ b/release/scripts/modules/bpy/utils/previews.py
@@ -32,7 +32,10 @@ __all__ = (
"remove",
)
-from bpy.app import _previews
+import _bpy
+_utils_previews = _bpy._utils_previews
+del _bpy
+
_uuid_open = set()
@@ -70,28 +73,28 @@ class _BPyImagePreviewCollection(dict):
def new(self, name):
if name in self:
raise KeyException("key %r already exists")
- p = self[name] = _previews.new(
+ p = self[name] = _utils_previews.new(
self._gen_key(name))
return p
- new.__doc__ = _previews.new.__doc__
+ new.__doc__ = _utils_previews.new.__doc__
def load(self, name, path, path_type):
if name in self:
raise KeyException("key %r already exists")
- p = self[name] = _previews.load(
+ p = self[name] = _utils_previews.load(
self._gen_key(name), path, path_type, False)
return p
- load.__doc__ = _previews.load.__doc__
+ load.__doc__ = _utils_previews.load.__doc__
def release(self, name):
p = self.pop(name, None)
if p is not None:
- _previews.release(self._gen_key(name))
- release.__doc__ = _previews.release.__doc__
+ _utils_previews.release(self._gen_key(name))
+ release.__doc__ = _utils_previews.release.__doc__
def clear(self):
for name in self.keys():
- _previews.release(self._gen_key(name))
+ _utils_previews.release(self._gen_key(name))
super().clear()
def close(self):
diff --git a/source/blender/python/intern/CMakeLists.txt b/source/blender/python/intern/CMakeLists.txt
index d23f4ce..ed04152 100644
--- a/source/blender/python/intern/CMakeLists.txt
+++ b/source/blender/python/intern/CMakeLists.txt
@@ -53,7 +53,6 @@ set(SRC
bpy_app_handlers.c
bpy_app_ocio.c
bpy_app_oiio.c
- bpy_app_previews.c
bpy_app_sdl.c
bpy_app_translations.c
bpy_driver.c
@@ -71,6 +70,7 @@ set(SRC
bpy_rna_callback.c
bpy_traceback.c
bpy_util.c
+ bpy_utils_previews.c
bpy_utils_units.c
stubs.c
@@ -82,7 +82,6 @@ set(SRC
bpy_app_handlers.h
bpy_app_ocio.h
bpy_app_oiio.h
- bpy_app_previews.h
bpy_app_sdl.h
bpy_app_translations.h
bpy_driver.h
@@ -97,6 +96,7 @@ set(SRC
bpy_rna_callback.h
bpy_traceback.h
bpy_util.h
+ bpy_utils_previews.h
bpy_utils_units.h
../BPY_extern.h
)
diff --git a/source/blender/python/intern/bpy.c b/source/blender/python/intern/bpy.c
index ec3c017..9a5e488 100644
--- a/source/blender/python/intern/bpy.c
+++ b/source/blender/python/intern/bpy.c
@@ -48,6 +48,7 @@
#include "bpy_props.h"
#include "bpy_library.h"
#include "bpy_operator.h"
+#include "bpy_utils_previews.h"
#include "bpy_utils_units.h"
#include "../generic/py_capi_utils.h"
@@ -330,6 +331,7 @@ void BPy_init_modules(void)
PyModule_AddObject(mod, "ops", BPY_operator_module());
PyModule_AddObject(mod, "app", BPY_app_struct());
PyModule_AddObject(mod, "_utils_units", BPY_utils_units());
+ PyModule_AddObject(mod, "_utils_previews", BPY_utils_previews_module());
/* bpy context */
RNA_pointer_create(NULL, &RNA_Context, (void *)BPy_GetContext(), &ctx_ptr);
diff --git a/source/blender/python/intern/bpy_app.c b/source/blender/python/intern/bpy_app.c
index ba265c8..1cf0c44 100644
--- a/source/blender/python/intern/bpy_app.c
+++ b/source/blender/python/intern/bpy_app.c
@@ -41,8 +41,6 @@
#include "bpy_app_translations.h"
-#include "bpy_app_previews.h"
-
#include "bpy_app_handlers.h"
#include "bpy_driver.h"
@@ -104,7 +102,6 @@ static PyStructSequence_Field app_info_fields[] = {
{(char *)"build_options", (char *)"A set containing most important enabled optional build features"},
{(char *)"handlers", (char *)"Application handler callbacks"},
{(char *)"translations", (char *)"Application and addons internationalization API"},
- {(char *)"_previews", (char *)"Previews manager API"},
{NULL},
};
@@ -182,7 +179,6 @@ static PyObject *make_app_info(void)
SetObjItem(BPY_app_build_options_struct());
SetObjItem(BPY_app_handlers_struct());
SetObjItem(BPY_app_translations_struct());
- SetObjItem(BPY_app_preview_module());
#undef SetIntItem
#undef SetStrItem
diff --git a/source/blender/python/intern/bpy_app_previews.c b/source/blender/python/intern/bpy_utils_previews.c
similarity index 78%
rename from source/blender/python/intern/bpy_app_previews.c
rename to source/blender/python/intern/bpy_utils_previews.c
index a1d85f4..f7ce205 100644
--- a/source/blender/python/intern/bpy_app_previews.c
+++ b/source/blender/python/intern/bpy_utils_previews.c
@@ -20,10 +20,10 @@
* ***** END GPL LICENSE BLOCK *****
*/
-/** \file blender/python/intern/bpy_app_previews.c
+/** \file blender/python/intern/bpy_utils_previews.c
* \ingroup pythonintern
*
- * This file defines a singleton py object accessed via 'bpy.app.previews',
+ * This file defines a singleton py object accessed via 'bpy.utils.previews',
* which exposes low-level API for custom previews/icons.
* It is replaced in final API by an higher-level python wrapper, that handles previews by addon,
* and automatically release them on deletion.
@@ -38,7 +38,7 @@
#include "RNA_access.h"
#include "BPY_extern.h"
-#include "bpy_app_previews.h"
+#include "bpy_utils_previews.h"
#include "bpy_rna.h"
#include "MEM_guardedalloc.h"
@@ -53,7 +53,7 @@
#include "../generic/python_utildefines.h"
-PyDoc_STRVAR(app_previews_meth_new_doc,
+PyDoc_STRVAR(bpy_utils_previews_new_doc,
".. method:: new(name)\n"
"\n"
" Generate a new empty preview, or return existing one matching ``name``.\n"
@@ -63,7 +63,7 @@ PyDoc_STRVAR(app_previews_meth_new_doc,
" :return: The Preview matching given name, or a new empty one.\n"
" :rtype: :class:`bpy.types.ImagePreview`\n"
);
-static PyObject *app_previews_meth_new(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
+static PyObject *bpy_utils_previews_new(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
static const char *kwlist[] = {"name", NULL};
char *name;
@@ -83,7 +83,7 @@ static PyObject *app_previews_meth_new(PyObject *UNUSED(self), PyObject *args, P
return pyrna_struct_CreatePyObject(&ptr);
}
-PyDoc_STRVAR(app_previews_meth_load_doc,
+PyDoc_STRVAR(bpy_utils_previews_load_doc,
".. method:: load(name, path, path_type, force_reload)\n"
"\n"
" Generate a new preview from given file path, or return existing one matching ``name``.\n"
@@ -99,7 +99,7 @@ PyDoc_STRVAR(app_previews_meth_load_doc,
" :return: The Preview matching given name, or a new empty one.\n"
" :rtype: :class:`bpy.types.ImagePreview`\n"
);
-static PyObject *app_previews_meth_load(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
+static PyObject *bpy_utils_previews_load(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
static const char *kwlist[] = {"name", "path", "path_type", "force_reload", NULL};
char *name, *path, *path_type_s;
@@ -129,7 +129,7 @@ static PyObject *app_previews_meth_load(PyObject *UNUSED(self), PyObject *args,
}
else {
PyErr_Format(PyExc_ValueError,
- "bpy.app.previews.load: invalid '%' path type, only 'IMAGE', 'MOVIE', 'BLEND' and 'FONT' "
+ "load: invalid '%' path type, only 'IMAGE', 'MOVIE', 'BLEND' and 'FONT' "
"are supported", path_type_s);
return NULL;
}
@@ -140,7 +140,7 @@ static PyObject *app_previews_meth_load(PyObject *UNUSED(self), PyObject *args,
return pyrna_struct_CreatePyObject(&ptr);
}
-PyDoc_STRVAR(app_previews_meth_release_doc,
+PyDoc_STRVAR(bpy_utils_previews_release_doc,
".. method:: release(name)\n"
"\n"
" Release (free) a previously created preview.\n"
@@ -149,7 +149,7 @@ PyDoc_STRVAR(app_previews_meth_release_doc,
" :arg name: The name (unique id) identifying the preview.\n"
" :type name: string\n"
);
-static PyObject *app_previews_meth_release(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
+static PyObject *bpy_utils_previews_release(PyObject *UNUSED(self), PyObject *args, PyObject *kw)
{
static const char *kwlist[] = {"name", NULL};
char *name;
@@ -166,33 +166,33 @@ static PyObject *app_previews_meth_release(PyObject *UNUSED(self), PyObject *arg
Py_RETURN_NONE;
}
-static struct PyMethodDef bpy_app_previews_methods[] = {
+static struct PyMethodDef bpy_utils_previews_methods[] = {
/* Can't use METH_KEYWORDS alone, see http://bugs.python.org/issue11587 */
- {"new", (PyCFunction)app_previews_meth_new, METH_VARARGS | METH_KEYWORDS, app_previews_meth_new_doc},
- {"load", (PyCFunction)app_previews_meth_load, METH_VARARGS | METH_KEYWORDS, app_previews_meth_load_doc},
- {"release", (PyCFunction)app_previews_meth_release, METH_VARARGS | METH_KEYWORDS, app_previews_meth_release_doc},
+ {"new", (PyCFunction)bpy_utils_previews_new, METH_VARARGS | METH_KEYWORDS, bpy_utils_previews_new_doc},
+ {"load", (PyCFunction)bpy_utils_previews_load, METH_VARARGS | METH_KEYWORDS, bpy_utils_previews_load_doc},
+ {"release", (PyCFunction)bpy_utils_previews_release, METH_VARARGS | METH_KEYWORDS, bpy_utils_previews_release_doc},
{NULL, NULL, 0, NULL}
};
-PyDoc_STRVAR(bpy_app_previews_doc,
+PyDoc_STRVAR(bpy_utils_previews_doc,
"This object contains basic static methods to handle cached (non-ID) previews in Blender\n"
"(low-level API, not exposed to final users)."
);
-static struct PyModuleDef bpy_app_previews_module = {
+static struct PyModuleDef bpy_utils_previews_module = {
PyModuleDef_HEAD_INIT,
- "bpy.app._previews",
- bpy_app_previews_doc,
+ "bpy._utils_previews",
+ bpy_utils_previews_doc,
0,
- bpy_app_previews_methods,
+ bpy_utils_previews_methods,
NULL, NULL, NULL, NULL
};
-PyObject *BPY_app_preview_module(void)
+PyObject *BPY_utils_previews_module(void)
{
PyObject *submodule;
- submodule = PyModule_Create(&bpy_app_previews_module);
+ submodule = PyModule_Create(&bpy_utils_previews_module);
return submodule;
}
diff --git a/source/blender/python/intern/bpy_app_previews.h b/source/blender/python/intern/bpy_utils_previews.h
similarity index 81%
rename from source/ble
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list