PyAPI: move deep-copy args check to py_capi_utils
authorCampbell Barton <ideasman42@gmail.com>
Tue, 26 Jun 2018 07:26:52 +0000 (09:26 +0200)
committerCampbell Barton <ideasman42@gmail.com>
Tue, 26 Jun 2018 07:31:57 +0000 (09:31 +0200)
source/blender/python/generic/py_capi_utils.c
source/blender/python/generic/py_capi_utils.h
source/blender/python/mathutils/mathutils.c
source/blender/python/mathutils/mathutils.h
source/blender/python/mathutils/mathutils_Color.c
source/blender/python/mathutils/mathutils_Euler.c
source/blender/python/mathutils/mathutils_Matrix.c
source/blender/python/mathutils/mathutils_Quaternion.c
source/blender/python/mathutils/mathutils_Vector.c

index 22646462163810127f2709ebfb2bfc844b079959..cee9ad3b477be6d739b4aed9a682e71e8b0c03f3 100644 (file)
@@ -230,6 +230,12 @@ int PyC_ParseBool(PyObject *o, void *p)
        return 1;
 }
 
+/* silly function, we dont use arg. just check its compatible with __deepcopy__ */
+int PyC_CheckArgs_DeepCopy(PyObject *args)
+{
+       PyObject *dummy_pydict;
+       return PyArg_ParseTuple(args, "|O!:__deepcopy__", &PyDict_Type, &dummy_pydict) != 0;
+}
 
 #ifndef MATH_STANDALONE
 
index fe7a046d99c6fda24ed40c66d1c25604fa1940f7..10419ce71d461c50da1dfb0ad79c360cb3348b44 100644 (file)
@@ -106,6 +106,7 @@ bool PyC_RunString_AsString(const char *expr, const char *filename, char **r_val
 
 int PyC_ParseBool(PyObject *o, void *p);
 
+int PyC_CheckArgs_DeepCopy(PyObject *args);
 
 /* Integer parsing (with overflow checks), -1 on error. */
 int     PyC_Long_AsBool(PyObject *value);
index 96ae0a9e50fa2b8b4af9b10663a3a6b688792e6e..0c365ad192c5aa23dcb7336da24263796cb913a3 100644 (file)
@@ -419,13 +419,6 @@ PyObject *mathutils_dynstr_to_py(struct DynStr *ds)
 }
 #endif
 
-/* silly function, we dont use arg. just check its compatible with __deepcopy__ */
-int mathutils_deepcopy_args_check(PyObject *args)
-{
-       PyObject *dummy_pydict;
-       return PyArg_ParseTuple(args, "|O!:__deepcopy__", &PyDict_Type, &dummy_pydict) != 0;
-}
-
 /* Mathutils Callbacks */
 
 /* for mathutils internal use only, eventually should re-alloc but to start with we only have a few users */
index ec927a9e31614c4adcd5404eddf54ce352014bf3..b151ba7280dc8843ab80dc2fd6e2b6982353df56 100644 (file)
@@ -174,6 +174,4 @@ int column_vector_multiplication(float rvec[4], VectorObject *vec, MatrixObject
 PyObject *mathutils_dynstr_to_py(struct DynStr *ds);
 #endif
 
-int mathutils_deepcopy_args_check(PyObject *args);
-
 #endif /* __MATHUTILS_H__ */
index 9997cd9c1f589c0b90e272b678458ec300e52eca..4c1163a6181347ee4ee02aff1dc82d1e42fc59f3 100644 (file)
@@ -33,6 +33,7 @@
 #include "BLI_utildefines.h"
 
 #include "../generic/python_utildefines.h"
+#include "../generic/py_capi_utils.h"
 
 #ifndef MATH_STANDALONE
 #  include "BLI_dynstr.h"
@@ -113,8 +114,9 @@ static PyObject *Color_copy(ColorObject *self)
 }
 static PyObject *Color_deepcopy(ColorObject *self, PyObject *args)
 {
-       if (!mathutils_deepcopy_args_check(args))
+       if (!PyC_CheckArgs_DeepCopy(args)) {
                return NULL;
+       }
        return Color_copy(self);
 }
 
index 026384743bd7fe3650121da483e355db41f51f5e..8be3de422263dbd9a38a050c0917d6e8168e632b 100644 (file)
@@ -32,6 +32,7 @@
 #include "BLI_math.h"
 #include "BLI_utildefines.h"
 #include "../generic/python_utildefines.h"
+#include "../generic/py_capi_utils.h"
 
 #ifndef MATH_STANDALONE
 #  include "BLI_dynstr.h"
@@ -312,8 +313,9 @@ static PyObject *Euler_copy(EulerObject *self)
 }
 static PyObject *Euler_deepcopy(EulerObject *self, PyObject *args)
 {
-       if (!mathutils_deepcopy_args_check(args))
+       if (!PyC_CheckArgs_DeepCopy(args)) {
                return NULL;
+       }
        return Euler_copy(self);
 }
 
index cc6a536789569d1aabadeedb8a87561ad040c9f8..70c400f99b8dc9ae3546e5deed11c15b341b2d88 100644 (file)
@@ -33,6 +33,7 @@
 #include "BLI_utildefines.h"
 
 #include "../generic/python_utildefines.h"
+#include "../generic/py_capi_utils.h"
 
 #ifndef MATH_STANDALONE
 #  include "BLI_string.h"
@@ -1945,8 +1946,9 @@ static PyObject *Matrix_copy(MatrixObject *self)
 }
 static PyObject *Matrix_deepcopy(MatrixObject *self, PyObject *args)
 {
-       if (!mathutils_deepcopy_args_check(args))
+       if (!PyC_CheckArgs_DeepCopy(args)) {
                return NULL;
+       }
        return Matrix_copy(self);
 }
 
index d283c717a46f7bbb4c083649f94637162cea03ab..1a6fd0ee86f755befa7ad3fde76e28b6541deae0 100644 (file)
@@ -33,6 +33,7 @@
 #include "BLI_utildefines.h"
 
 #include "../generic/python_utildefines.h"
+#include "../generic/py_capi_utils.h"
 
 #ifndef MATH_STANDALONE
 #  include "BLI_dynstr.h"
@@ -496,8 +497,9 @@ static PyObject *Quaternion_copy(QuaternionObject *self)
 }
 static PyObject *Quaternion_deepcopy(QuaternionObject *self, PyObject *args)
 {
-       if (!mathutils_deepcopy_args_check(args))
+       if (!PyC_CheckArgs_DeepCopy(args)) {
                return NULL;
+       }
        return Quaternion_copy(self);
 }
 
@@ -1393,4 +1395,3 @@ PyObject *Quaternion_CreatePyObject_cb(PyObject *cb_user,
 
        return (PyObject *)self;
 }
-
index 65450505e08331fa0a08556f6ce7b2906580dcbd..a06a63c806775116111dea86d29ced6a78b2f07a 100644 (file)
@@ -1331,8 +1331,9 @@ static PyObject *Vector_copy(VectorObject *self)
 }
 static PyObject *Vector_deepcopy(VectorObject *self, PyObject *args)
 {
-       if (!mathutils_deepcopy_args_check(args))
+       if (!PyC_CheckArgs_DeepCopy(args)) {
                return NULL;
+       }
        return Vector_copy(self);
 }