Exemplo n.º 1
0
static int
generic_setattr(genericobject *g, char *name, PyObject *v)
{
	int ret;

	if (v == NULL) {
		PyErr_SetString(PyExc_TypeError,
				"can't delete forms object attributes");
		return -1;
	}

	/* "label" is an exception: setmember doesn't set strings;
	   and FORMS wants you to call a function to set the label */
	if (strcmp(name, "label") == 0) {
		if (!PyString_Check(v)) {
			PyErr_SetString(PyExc_TypeError,
					"label attr must be string");
			return -1;
		}
		fl_set_object_label(g->ob_generic, PyString_AsString(v));
		return 0;
	}

	ret = PyMember_Set((char *)g->ob_generic, generic_memberlist, name, v);

	/* Rather than calling all the various set_object_* functions,
	   we call fl_redraw_object here.  This is sometimes redundant
	   but I doubt that's a big problem */
	if (ret == 0)
		fl_redraw_object(g->ob_generic);

	return ret;
}
Exemplo n.º 2
0
static int
PyGtkPSFont_SetAttr(PyGtkPSFont_Object *self, char *attr,
			PyObject *value)
{
    return PyMember_Set((char *) self->psfont, PyGtkPSFont_members, attr,
			value);
}
Exemplo n.º 3
0
static int
func_setattr(PyFunctionObject *op, char *name, PyObject *value)
{
	if (PyEval_GetRestricted()) {
		PyErr_SetString(PyExc_RuntimeError,
		  "function attributes not settable in restricted mode");
		return -1;
	}
	if (strcmp(name, "func_code") == 0) {
		if (value == NULL || !PyCode_Check(value)) {
			PyErr_SetString(
				PyExc_TypeError,
				"func_code must be set to a code object");
			return -1;
		}
	}
	else if (strcmp(name, "func_defaults") == 0) {
		if (value != Py_None && !PyTuple_Check(value)) {
			PyErr_SetString(
				PyExc_TypeError,
				"func_defaults must be set to a tuple object");
			return -1;
		}
		if (value == Py_None)
			value = NULL;
	}
	return PyMember_Set((char *)op, func_memberlist, name, value);
}
Exemplo n.º 4
0
static int CS_COMMAND_setattr(CS_COMMANDObj *self, char *name, PyObject *v)
{
    if (v == NULL) {
	PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
	return -1;
    }
    return PyMember_Set((char *)self, CS_COMMAND_memberlist, name, v);
}
Exemplo n.º 5
0
static int
psyco_conn_setattr(connobject *self, char *name, PyObject *v)
{
    if (v == NULL) {
        PyErr_SetString(PyExc_AttributeError, "cannot delete attribute");
        return -1;
    }
    return PyMember_Set((char *)self, psyco_conn_memberlist, name, v);
}
Exemplo n.º 6
0
static int filter_setattr(filterobject *self, char *name, PyObject *v)
{
    if (v == NULL) {
        PyErr_SetString(PyExc_AttributeError,
                        "can't delete filter attributes");
        return -1;
    }
    return PyMember_Set((char *)self, filter_memberlist, name, v);
}
Exemplo n.º 7
0
static int PgVersion_setattr(PgVersion *self, char* attr, PyObject *value)
{
	if (value == NULL)
	{
		PyErr_SetString(PyExc_AttributeError, 
						"can't delete PgVersion attributes");
		return -1;	 
	}
	return PyMember_Set((char *)self, PgVersion_members, attr, value);
}
Exemplo n.º 8
0
static int
form_setattr(formobject *f, char *name, PyObject *v)
{
	if (v == NULL) {
		PyErr_SetString(PyExc_TypeError,
				"can't delete form attributes");
		return -1;
	}

	return PyMember_Set((char *)f->ob_form, form_memberlist, name, v);
}
Exemplo n.º 9
0
static int request_setattr(requestobject *self, char *name, PyObject *value)
{
    if (value == NULL) {
	PyErr_SetString(PyExc_AttributeError,
			"can't delete request attributes");
	return -1;
    }
    else if (strcmp(name, "content_type") == 0) {
	self->request_rec->content_type = 
	    ap_pstrdup(self->request_rec->pool, PyString_AsString(value));
	self->content_type_set = 1;
	return 0;
    }
    else if (strcmp(name, "filename") == 0) {
	self->request_rec->filename =
	    ap_pstrdup(self->request_rec->pool, PyString_AsString(value));
	return 0;
    }
    else if (strcmp(name, "hstack") == 0) {
	self->hstack = ap_pstrdup(self->request_rec->pool, PyString_AsString(value));
	return 0;
    }
    else if (strcmp(name, "_Request") == 0) {
	/* it's ok to assign None */
	if (value == Py_None) {
	    Py_XDECREF(self->Request);
	    self->Request = NULL;
	    return 0;
	}
	/* but anything else has to be an instance */
	if (! PyInstance_Check(value)) {
	    PyErr_SetString(PyExc_AttributeError,
			    "special attribute _Request must be an instance");
	    return -1;
	}
	Py_INCREF(value);
	self->Request = value;
	return 0;
    }
    else
	return PyMember_Set((char *)self->request_rec, request_memberlist, name, value);
}
Exemplo n.º 10
0
static int DataBuf_setattr(DataBufObj *self, char *name, PyObject *v)
{
    if (v == NULL) {
	PyErr_SetString(PyExc_AttributeError, "Cannot delete attribute");
	return -1;
    }
    if (strcmp(name, "name") == 0) {
	int size;

	if (!PyString_Check(v)) {
	    PyErr_BadArgument();
	    return -1;
	}
	size = PyString_Size(v);
	if (size > sizeof(self->fmt.name)) {
	    PyErr_SetString(PyExc_TypeError, "name too long");
	    return -1;
	}
	strncpy(self->fmt.name, PyString_AsString(v), sizeof(self->fmt.name));
	self->fmt.namelen = size;
	return 0;
    }
    return PyMember_Set((char *)self, DataBuf_memberlist, name, v);
}
Exemplo n.º 11
0
static int
frame_setattr(PyFrameObject *f, char *name, PyObject *value)
{
	return PyMember_Set((char *)f, frame_memberlist, name, value);
}