int ConvertPyObjectToTransformDirection(PyObject *object, void *valuePtr) { TransformDirection* dirPtr = static_cast<TransformDirection*>(valuePtr); if(!PyString_Check(object)) { PyErr_SetString(PyExc_ValueError, "Object is not a string."); return 0; } *dirPtr = TransformDirectionFromString(PyString_AsString( object )); return 1; }
// Add the module PyModule_AddObject(enclosingModule, "Constants", m); } namespace { PyObject * PyOCIO_Constants_GetInverseTransformDirection(PyObject * /*module*/, PyObject * args) { OCIO_PYTRY_ENTER() char* s = 0; if (!PyArg_ParseTuple(args, "s:GetInverseTransformDirection", &s)) return NULL; TransformDirection dir = TransformDirectionFromString(s); dir = GetInverseTransformDirection(dir); return PyString_FromString(TransformDirectionToString(dir)); OCIO_PYTRY_EXIT(NULL) } PyObject * PyOCIO_Constants_CombineTransformDirections(PyObject * /*module*/, PyObject * args) { OCIO_PYTRY_ENTER() char* s1 = 0; char* s2 = 0; if (!PyArg_ParseTuple(args, "ss:CombineTransformDirections", &s1, &s2)) return NULL; TransformDirection dir1 = TransformDirectionFromString(s1); TransformDirection dir2 = TransformDirectionFromString(s2); TransformDirection dir = CombineTransformDirections(dir1, dir2);