static PyObject * PyCMOR_set_variable_attribute(PyObject *self,PyObject *args) { char *name; char *value; int ierr, var_id; if (!PyArg_ParseTuple(args,"iss",&var_id,&name,&value)) return NULL; ierr = cmor_set_variable_attribute(var_id,name,'c',(void *)value); if (ierr != 0 ) return NULL; /* Return NULL Python Object */ Py_INCREF(Py_None); return Py_None; }
static PyObject *PyCMOR_set_variable_attribute(PyObject * self, PyObject * args) { signal(signal_to_catch, signal_handler); char *name; char *value; char *type; long lValue; int nValue; float fValue; double dValue; PyObject *oValue; int ierr, var_id; value = NULL; if (!PyArg_ParseTuple(args, "issO", &var_id, &name, &type, &oValue)) return NULL; #if PY_MAJOR_VERSION >= 3 if(PyBytes_Check(oValue)) { value = PyBytes_AsString(oValue); #else if(PyString_Check(oValue)) { value = PyString_AsString(oValue); #endif } else if(PyLong_Check(oValue)) { lValue = PyLong_AsLong(oValue); } else if (PyFloat_Check(oValue)) { dValue = PyFloat_AsDouble(oValue); } if (type[0] == 'f') { fValue = (float) dValue; value = (char *) &fValue; } else if (type[0] == 'd') { value = (char *) &dValue; } else if (type[0] == 'i') { nValue = (int) lValue; value = (char *) &nValue; } else if (type[0] == 'l') { value = (char *) &lValue; } ierr = cmor_set_variable_attribute(var_id, name, type[0], (void *)value); if (ierr != 0 || raise_exception) { raise_exception = 0; PyErr_Format(CMORError, exception_message, "set_variable_attribute"); return NULL; } return (Py_BuildValue("i", ierr)); } /************************************************************************/ /* PyCMOR_get_variable_attribute() */ /************************************************************************/ static PyObject *PyCMOR_get_variable_attribute(PyObject * self, PyObject * args) { signal(signal_to_catch, signal_handler); char *name; char value[CMOR_MAX_STRING]; int ierr, var_id; if (!PyArg_ParseTuple(args, "is", &var_id, &name)) return NULL; ierr = cmor_get_variable_attribute(var_id, name, (void *)value); if (ierr != 0 || raise_exception) { raise_exception = 0; PyErr_Format(CMORError, exception_message, "get_variable_attribute"); return NULL; } return (Py_BuildValue("s", value)); }