diff options
author | Campbell Barton <ideasman42@gmail.com> | 2011-02-23 12:12:55 +0300 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2011-02-23 12:12:55 +0300 |
commit | 9416daf97eef06f90d5230eeac0a5995d06be00c (patch) | |
tree | 13dff38ac2ade1820d0b625978efbee33311b679 /source/blender/python | |
parent | 93493743596cb757d4989453197d3ec5e93cdbde (diff) |
remove unused functions,
note: BPY_class_validate() could come in handy later if we need to check classes for properties/functions but for now there is no point in keeping it in.
Diffstat (limited to 'source/blender/python')
-rw-r--r-- | source/blender/python/intern/bpy_util.c | 88 | ||||
-rw-r--r-- | source/blender/python/intern/bpy_util.h | 16 |
2 files changed, 0 insertions, 104 deletions
diff --git a/source/blender/python/intern/bpy_util.c b/source/blender/python/intern/bpy_util.c index 63a397769c3..3857abd1bb8 100644 --- a/source/blender/python/intern/bpy_util.c +++ b/source/blender/python/intern/bpy_util.c @@ -36,94 +36,6 @@ static bContext* __py_context = NULL; bContext* BPy_GetContext(void) { return __py_context; } void BPy_SetContext(bContext *C) { __py_context= C; } -int BPY_class_validate(const char *class_type, PyObject *class, PyObject *base_class, BPY_class_attr_check* class_attrs, PyObject **py_class_attrs) -{ - PyObject *item, *fitem; - PyObject *py_arg_count; - int i, arg_count; - - if (base_class) { - if (!PyObject_IsSubclass(class, base_class)) { - PyObject *name= PyObject_GetAttrString(base_class, "__name__"); - PyErr_Format(PyExc_AttributeError, "expected %s subclass of class \"%s\"", class_type, name ? _PyUnicode_AsString(name):"<UNKNOWN>"); - Py_XDECREF(name); - return -1; - } - } - - for(i= 0;class_attrs->name; class_attrs++, i++) { - item = PyObject_GetAttrString(class, class_attrs->name); - - if (py_class_attrs) - py_class_attrs[i]= item; - - if (item==NULL) { - if ((class_attrs->flag & BPY_CLASS_ATTR_OPTIONAL)==0) { - PyErr_Format(PyExc_AttributeError, "expected %s class to have an \"%s\" attribute", class_type, class_attrs->name); - return -1; - } - - PyErr_Clear(); - } - else { - Py_DECREF(item); /* no need to keep a ref, the class owns it */ - - if((item==Py_None) && (class_attrs->flag & BPY_CLASS_ATTR_NONE_OK)) { - /* dont do anything, this is ok, dont bother checking other types */ - } - else { - switch(class_attrs->type) { - case 's': - if (PyUnicode_Check(item)==0) { - PyErr_Format(PyExc_AttributeError, "expected %s class \"%s\" attribute to be a string", class_type, class_attrs->name); - return -1; - } - if(class_attrs->len != -1 && class_attrs->len < PyUnicode_GetSize(item)) { - PyErr_Format(PyExc_AttributeError, "expected %s class \"%s\" attribute string to be shorter then %d", class_type, class_attrs->name, class_attrs->len); - return -1; - } - - break; - case 'l': - if (PyList_Check(item)==0) { - PyErr_Format(PyExc_AttributeError, "expected %s class \"%s\" attribute to be a list", class_type, class_attrs->name); - return -1; - } - if(class_attrs->len != -1 && class_attrs->len < PyList_GET_SIZE(item)) { - PyErr_Format(PyExc_AttributeError, "expected %s class \"%s\" attribute list to be shorter then %d", class_type, class_attrs->name, class_attrs->len); - return -1; - } - break; - case 'f': - if (PyMethod_Check(item)) - fitem= PyMethod_Function(item); /* py 2.x */ - else - fitem= item; /* py 3.x */ - - if (PyFunction_Check(fitem)==0) { - PyErr_Format(PyExc_AttributeError, "expected %s class \"%s\" attribute to be a function", class_type, class_attrs->name); - return -1; - } - if (class_attrs->arg_count >= 0) { /* -1 if we dont care*/ - py_arg_count = PyObject_GetAttrString(PyFunction_GET_CODE(fitem), "co_argcount"); - arg_count = PyLong_AsSsize_t(py_arg_count); - Py_DECREF(py_arg_count); - - if (arg_count != class_attrs->arg_count) { - PyErr_Format(PyExc_AttributeError, "expected %s class \"%s\" function to have %d args", class_type, class_attrs->name, class_attrs->arg_count); - return -1; - } - } - break; - } - } - } - } - return 0; -} - - - char *BPy_enum_as_string(EnumPropertyItem *item) { DynStr *dynstr= BLI_dynstr_new(); diff --git a/source/blender/python/intern/bpy_util.h b/source/blender/python/intern/bpy_util.h index e1473a563a6..33e711b0a80 100644 --- a/source/blender/python/intern/bpy_util.h +++ b/source/blender/python/intern/bpy_util.h @@ -34,24 +34,8 @@ struct EnumPropertyItem; struct ReportList; -/* Class type checking, use for checking classes can be added as operators, panels etc */ -typedef struct BPY_class_attr_check { - const char *name; /* name of the class attribute */ - char type; /* 's' = string, 'f' = function, 'l' = list, (add as needed) */ - int arg_count; /* only for function types, -1 for undefined, includes self arg */ - int len; /* only for string types currently */ - int flag; /* other options */ -} BPY_class_attr_check; - -/* BPY_class_attr_check, flag */ -#define BPY_CLASS_ATTR_OPTIONAL 1 -#define BPY_CLASS_ATTR_NONE_OK 2 - -int BPY_class_validate(const char *class_type, PyObject *class, PyObject *base_class, BPY_class_attr_check* class_attrs, PyObject **py_class_attrs); - char *BPy_enum_as_string(struct EnumPropertyItem *item); - #define BLANK_PYTHON_TYPE {PyVarObject_HEAD_INIT(NULL, 0) NULL} /* error reporting */ |