diff options
author | Campbell Barton <ideasman42@gmail.com> | 2013-01-04 07:47:37 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2013-01-04 07:47:37 +0400 |
commit | 9dbe85c17ea0e3a9279780e51a9caea69ea056ed (patch) | |
tree | 2616faf930c04d57d1259798cf0bf081ae914e40 /source/blender/python | |
parent | a50794e4f93cb2756fce5c585ad46327cfe27f46 (diff) |
expose common extensions for image/movie/audio types, since python scripts had to do this internally.
- bpy.path.extensions_image
- bpy.path.extensions_movie
- bpy.path.extensions_audio
eg:
if os.path.splitext(filename)[1].lower() in bpy.path.extensions_image:
... we have an image ...
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/generic/py_capi_utils.c | 17 | ||||
-rw-r--r-- | source/blender/python/generic/py_capi_utils.h | 1 | ||||
-rw-r--r-- | source/blender/python/intern/CMakeLists.txt | 2 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_interface.c | 2 |
4 files changed, 22 insertions, 0 deletions
diff --git a/source/blender/python/generic/py_capi_utils.c b/source/blender/python/generic/py_capi_utils.c index f62fdaf09db..9a064923736 100644 --- a/source/blender/python/generic/py_capi_utils.c +++ b/source/blender/python/generic/py_capi_utils.c @@ -241,6 +241,23 @@ PyObject *PyC_Object_GetAttrStringArgs(PyObject *o, Py_ssize_t n, ...) return item; } +PyObject *PyC_FrozenSetFromStrings(const char **strings) +{ + const char **str; + PyObject *ret; + + ret = PyFrozenSet_New(NULL); + + for (str = strings; *str; str++) { + PyObject *py_str = PyUnicode_FromString(*str); + PySet_Add(ret, py_str); + Py_DECREF(py_str); + } + + return ret; +} + + /* similar to PyErr_Format(), * * implementation - we cant actually preprend the existing exception, diff --git a/source/blender/python/generic/py_capi_utils.h b/source/blender/python/generic/py_capi_utils.h index 45c9247d710..db582bd7086 100644 --- a/source/blender/python/generic/py_capi_utils.h +++ b/source/blender/python/generic/py_capi_utils.h @@ -33,6 +33,7 @@ void PyC_LineSpit(void); void PyC_StackSpit(void); PyObject * PyC_ExceptionBuffer(void); PyObject * PyC_Object_GetAttrStringArgs(PyObject *o, Py_ssize_t n, ...); +PyObject * PyC_FrozenSetFromStrings(const char **strings); PyObject * PyC_Err_Format_Prefix(PyObject *exception_type_prefix, const char *format, ...); void PyC_FileAndNum(const char **filename, int *lineno); void PyC_FileAndNum_Safe(const char **filename, int *lineno); /* checks python is running */ diff --git a/source/blender/python/intern/CMakeLists.txt b/source/blender/python/intern/CMakeLists.txt index 6f2c5a75730..b94869c6ca5 100644 --- a/source/blender/python/intern/CMakeLists.txt +++ b/source/blender/python/intern/CMakeLists.txt @@ -56,6 +56,7 @@ set(SRC bpy_library.c bpy_operator.c bpy_operator_wrap.c + bpy_path.c bpy_props.c bpy_rna.c bpy_rna_anim.c @@ -76,6 +77,7 @@ set(SRC bpy_library.h bpy_operator.h bpy_operator_wrap.h + bpy_path.h bpy_props.h bpy_rna.h bpy_rna_anim.h diff --git a/source/blender/python/intern/bpy_interface.c b/source/blender/python/intern/bpy_interface.c index d71c85bc3a0..7bce8673943 100644 --- a/source/blender/python/intern/bpy_interface.c +++ b/source/blender/python/intern/bpy_interface.c @@ -44,6 +44,7 @@ #include "bpy.h" #include "gpu.h" #include "bpy_rna.h" +#include "bpy_path.h" #include "bpy_util.h" #include "bpy_traceback.h" #include "bpy_intern_string.h" @@ -212,6 +213,7 @@ static struct _inittab bpy_internal_modules[] = { {(char *)"mathutils", PyInit_mathutils}, // {(char *)"mathutils.geometry", PyInit_mathutils_geometry}, // {(char *)"mathutils.noise", PyInit_mathutils_noise}, + {(char *)"_bpy_path", BPyInit__bpy_path}, {(char *)"bgl", BPyInit_bgl}, {(char *)"blf", BPyInit_blf}, {(char *)"bmesh", BPyInit_bmesh}, |