diff options
-rw-r--r-- | ChangeLog | 38 | ||||
-rw-r--r-- | glib/pyglib-python-compat.h | 2 | ||||
-rw-r--r-- | gobject/gobjectmodule.c | 40 | ||||
-rw-r--r-- | gobject/pygboxed.c | 2 | ||||
-rw-r--r-- | gobject/pygenum.c | 8 | ||||
-rw-r--r-- | gobject/pygflags.c | 12 | ||||
-rw-r--r-- | gobject/pygobject.c | 38 | ||||
-rw-r--r-- | gobject/pygparamspec.c | 8 | ||||
-rw-r--r-- | gobject/pygpointer.c | 2 | ||||
-rw-r--r-- | gobject/pygtype.c | 46 |
10 files changed, 118 insertions, 78 deletions
@@ -1,5 +1,43 @@ 2008-07-27 Johan Dahlin <johan@gnome.org> + * glib/pyglib-python-compat.h: + Add _PyUnicode_Type macro + + * gobject/gobjectmodule.c (pyg_type_name), (pyg_type_from_name), + (_pyg_signal_accumulator), (add_signals), (add_properties), + (get_type_name_for_class), (pyg_signal_list_names), + (pyg_signal_name), (pyg_signal_query), (pyg_object_new), + (pyg_add_emission_hook), (pyg_remove_emission_hook): + * gobject/pygboxed.c (pyg_boxed_repr): + * gobject/pygenum.c (pyg_enum_repr), (pyg_enum_add), + (pyg_enum_get_value_name), (pyg_enum_get_value_nick): + * gobject/pygflags.c (pyg_flags_repr), (pyg_flags_add), + (pyg_flags_get_first_value_name), (pyg_flags_get_first_value_nick), + (pyg_flags_get_value_names), (pyg_flags_get_value_nicks): + * gobject/pygobject.c (build_parameter_list), (PyGProps_getattro), + (PyGProps_setattro), (pygobject_register_class), (pygobject_repr), + (pygobject_init), (pygobject_get_properties), + (pygobject_set_properties), (pygobject_connect), + (pygobject_connect_after), (pygobject_connect_object), + (pygobject_connect_object_after), (pygobject_emit), + (pygobject_stop_emission), (pygobject_disconnect_by_func), + (pygobject_handler_block_by_func), + (pygobject_handler_unblock_by_func), + (pygobject_object_register_types): + * gobject/pygparamspec.c (pyg_param_spec_repr), + (pyg_param_spec_getattr): + * gobject/pygpointer.c (pyg_pointer_repr): + * gobject/pygtype.c (pyg_type_wrapper_repr), + (_wrap_g_type_wrapper__get_name), (pyg_type_from_object), + (pyg_enum_get_value), (pyg_flags_get_value), + (pyg_value_from_pyobject), (pyg_value_as_pyobject), + (object_doc_descr_get), (_pyg_strv_from_gvalue), + (_pyg_strv_to_gvalue): + + Use _PyUnicode_* macros in the gobject module + +2008-07-27 Johan Dahlin <johan@gnome.org> + * gobject/Makefile.am: * gobject/gobjectmodule.c (PYGLIB_MODULE_START): * gobject/pygobject-private.h: diff --git a/glib/pyglib-python-compat.h b/glib/pyglib-python-compat.h index 4f062f4..c36f7e4 100644 --- a/glib/pyglib-python-compat.h +++ b/glib/pyglib-python-compat.h @@ -38,6 +38,7 @@ typedef int Py_ssize_t; #define _PyUnicode_AS_STRING PyString_AS_STRING #define _PyUnicode_GET_SIZE PyString_GET_SIZE #define _PyUnicode_Resize _PyString_Resize +#define _PyUnicode_Type PyString_Type #define _PyLong_Check PyInt_Check #define _PyLong_FromLong PyInt_FromLong #define _PyLong_AsLong PyInt_AsLong @@ -91,6 +92,7 @@ PyTypeObject symbol = { \ #define _PyUnicode_AS_STRING _PyUnicode_AsString #define _PyUnicode_GET_SIZE PyUnicode_GET_SIZE #define _PyUnicode_Resize PyUnicode_Resize +#define _PyUnicode_Type PyUnicode_Type #define _PyLong_Check PyLong_Check #define _PyLong_FromLong PyLong_FromLong #define _PyLong_AsLong PyLong_AsLong diff --git a/gobject/gobjectmodule.c b/gobject/gobjectmodule.c index 77cccb4..d3e4097 100644 --- a/gobject/gobjectmodule.c +++ b/gobject/gobjectmodule.c @@ -116,7 +116,7 @@ pyg_type_name (PyObject *self, PyObject *args) return NULL; name = g_type_name(type); if (name) - return PyString_FromString(name); + return _PyUnicode_FromString(name); PyErr_SetString(PyExc_RuntimeError, "unknown typecode"); return NULL; } @@ -138,7 +138,7 @@ pyg_type_from_name (PyObject *self, PyObject *args) if (type != 0) return pyg_type_wrapper_new(type); PyErr_Format(PyExc_RuntimeError, "%s: unknown type name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -338,7 +338,7 @@ _pyg_signal_accumulator(GSignalInvocationHint *ihint, state = pyglib_gil_state_ensure(); if (ihint->detail) - py_detail = PyString_FromString(g_quark_to_string(ihint->detail)); + py_detail = _PyUnicode_FromString(g_quark_to_string(ihint->detail)); else { Py_INCREF(Py_None); py_detail = Py_None; @@ -497,17 +497,17 @@ add_signals (GType instance_type, PyObject *signals) const gchar *signal_name; gchar *signal_name_canon, *c; - if (!PyString_Check(key)) { + if (!_PyUnicode_Check(key)) { PyErr_SetString(PyExc_TypeError, "__gsignals__ keys must be strings"); ret = FALSE; break; } - signal_name = PyString_AsString (key); + signal_name = _PyUnicode_AsString (key); if (value == Py_None || - (PyString_Check(value) && - !strcmp(PyString_AsString(value), "override"))) + (_PyUnicode_Check(value) && + !strcmp(_PyUnicode_AsString(value), "override"))) { /* canonicalize signal name, replacing '-' with '_' */ signal_name_canon = g_strdup(signal_name); @@ -819,13 +819,13 @@ add_properties (GType instance_type, PyObject *properties) /* values are of format (type,nick,blurb, type_specific_args, flags) */ - if (!PyString_Check(key)) { + if (!_PyUnicode_Check(key)) { PyErr_SetString(PyExc_TypeError, "__gproperties__ keys must be strings"); ret = FALSE; break; } - prop_name = PyString_AsString (key); + prop_name = _PyUnicode_AsString (key); if (!PyTuple_Check(value)) { PyErr_SetString(PyExc_TypeError, @@ -878,14 +878,14 @@ add_properties (GType instance_type, PyObject *properties) PyObject *type, *value, *traceback; ret = FALSE; PyErr_Fetch(&type, &value, &traceback); - if (PyString_Check(value)) { + if (_PyUnicode_Check(value)) { char msg[256]; g_snprintf(msg, 256, "%s (while registering property '%s' for GType '%s')", - PyString_AsString(value), + _PyUnicode_AsString(value), prop_name, g_type_name(instance_type)); Py_DECREF(value); - value = PyString_FromString(msg); + value = _PyUnicode_FromString(msg); } PyErr_Restore(type, value, traceback); break; @@ -974,8 +974,8 @@ get_type_name_for_class(PyTypeObject *class) { snprintf(name_serial_str, 16, "-v%i", name_serial); module = PyObject_GetAttrString((PyObject *)class, "__module__"); - if (module && PyString_Check(module)) { - type_name = g_strconcat(PyString_AsString(module), ".", + if (module && _PyUnicode_Check(module)) { + type_name = g_strconcat(_PyUnicode_AsString(module), ".", class->tp_name, name_serial > 1 ? name_serial_str : NULL, NULL); @@ -1394,7 +1394,7 @@ pyg_signal_list_names (PyObject *self, PyObject *args, PyObject *kwargs) if (list != NULL) { for (i = 0; i < n; i++) PyTuple_SetItem(list, i, - PyString_FromString(g_signal_name(ids[i]))); + _PyUnicode_FromString(g_signal_name(ids[i]))); } g_free(ids); @@ -1513,7 +1513,7 @@ pyg_signal_name (PyObject *self, PyObject *args, PyObject *kwargs) return NULL; signal_name = g_signal_name(id); if (signal_name) - return PyString_FromString(signal_name); + return _PyUnicode_FromString(signal_name); Py_INCREF(Py_None); return Py_None; @@ -1587,7 +1587,7 @@ pyg_signal_query (PyObject *self, PyObject *args, PyObject *kwargs) } PyTuple_SET_ITEM(py_query, 0, PyInt_FromLong(query.signal_id)); - PyTuple_SET_ITEM(py_query, 1, PyString_FromString(query.signal_name)); + PyTuple_SET_ITEM(py_query, 1, _PyUnicode_FromString(query.signal_name)); PyTuple_SET_ITEM(py_query, 2, pyg_type_wrapper_new(query.itype)); PyTuple_SET_ITEM(py_query, 3, PyInt_FromLong(query.signal_flags)); PyTuple_SET_ITEM(py_query, 4, pyg_type_wrapper_new(query.return_type)); @@ -1700,7 +1700,7 @@ pyg_object_new (PyGObject *self, PyObject *args, PyObject *kwargs) params = g_new0(GParameter, PyDict_Size(kwargs)); while (PyDict_Next (kwargs, &pos, &key, &value)) { GParamSpec *pspec; - const gchar *key_str = PyString_AsString (key); + const gchar *key_str = _PyUnicode_AsString (key); pspec = g_object_class_find_property (class, key_str); if (!pspec) { @@ -1888,7 +1888,7 @@ pyg_add_emission_hook(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, gtype, &sigid, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -1927,7 +1927,7 @@ pyg_remove_emission_hook(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, gtype, &signal_id, NULL, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } diff --git a/gobject/pygboxed.c b/gobject/pygboxed.c index d304fc4..bf3d691 100644 --- a/gobject/pygboxed.c +++ b/gobject/pygboxed.c @@ -64,7 +64,7 @@ pyg_boxed_repr(PyGBoxed *self) g_snprintf(buf, sizeof(buf), "<%s at 0x%lx>", g_type_name(self->gtype), (long)self->boxed); - return PyString_FromString(buf); + return _PyUnicode_FromString(buf); } static int diff --git a/gobject/pygenum.c b/gobject/pygenum.c index 9280c87..c7ecd76 100644 --- a/gobject/pygenum.c +++ b/gobject/pygenum.c @@ -72,7 +72,7 @@ pyg_enum_repr(PyGEnum *self) g_type_class_unref(enum_class); - return PyString_FromString(tmp); + return _PyUnicode_FromString(tmp); } static PyObject * @@ -212,7 +212,7 @@ pyg_enum_add (PyObject * module, if (module) PyDict_SetItemString(((PyTypeObject *)stub)->tp_dict, "__module__", - PyString_FromString(PyModule_GetName(module))); + _PyUnicode_FromString(PyModule_GetName(module))); g_type_set_qdata(gtype, pygenum_class_key, stub); @@ -284,7 +284,7 @@ pyg_enum_get_value_name(PyGEnum *self, void *closure) enum_value = g_enum_get_value(enum_class, self->parent.ob_ival); - retval = PyString_FromString(enum_value->value_name); + retval = _PyUnicode_FromString(enum_value->value_name); g_type_class_unref(enum_class); return retval; @@ -302,7 +302,7 @@ pyg_enum_get_value_nick(PyGEnum *self, void *closure) enum_value = g_enum_get_value(enum_class, self->parent.ob_ival); - retval = PyString_FromString(enum_value->value_nick); + retval = _PyUnicode_FromString(enum_value->value_nick); g_type_class_unref(enum_class); return retval; diff --git a/gobject/pygflags.c b/gobject/pygflags.c index 57f1ccb..0085560 100644 --- a/gobject/pygflags.c +++ b/gobject/pygflags.c @@ -102,7 +102,7 @@ pyg_flags_repr(PyGFlags *self) g_type_name(self->gtype)); g_free(tmp); - pyretval = PyString_FromString(retval); + pyretval = _PyUnicode_FromString(retval); g_free(retval); return pyretval; @@ -235,7 +235,7 @@ pyg_flags_add (PyObject * module, if (module) { PyDict_SetItemString(((PyTypeObject *)stub)->tp_dict, "__module__", - PyString_FromString(PyModule_GetName(module))); + _PyUnicode_FromString(PyModule_GetName(module))); /* Add it to the module name space */ PyModule_AddObject(module, (char*)typename, stub); @@ -338,7 +338,7 @@ pyg_flags_get_first_value_name(PyGFlags *self, void *closure) g_assert(G_IS_FLAGS_CLASS(flags_class)); flags_value = g_flags_get_first_value(flags_class, self->parent.ob_ival); if (flags_value) - retval = PyString_FromString(flags_value->value_name); + retval = _PyUnicode_FromString(flags_value->value_name); else { retval = Py_None; Py_INCREF(Py_None); @@ -360,7 +360,7 @@ pyg_flags_get_first_value_nick(PyGFlags *self, void *closure) flags_value = g_flags_get_first_value(flags_class, self->parent.ob_ival); if (flags_value) - retval = PyString_FromString(flags_value->value_nick); + retval = _PyUnicode_FromString(flags_value->value_nick); else { retval = Py_None; Py_INCREF(Py_None); @@ -383,7 +383,7 @@ pyg_flags_get_value_names(PyGFlags *self, void *closure) retval = PyList_New(0); for (i = 0; i < flags_class->n_values; i++) if ((self->parent.ob_ival & flags_class->values[i].value) == flags_class->values[i].value) - PyList_Append(retval, PyString_FromString(flags_class->values[i].value_name)); + PyList_Append(retval, _PyUnicode_FromString(flags_class->values[i].value_name)); g_type_class_unref(flags_class); @@ -403,7 +403,7 @@ pyg_flags_get_value_nicks(PyGFlags *self, void *closure) retval = PyList_New(0); for (i = 0; i < flags_class->n_values; i++) if ((self->parent.ob_ival & flags_class->values[i].value) == flags_class->values[i].value) - PyList_Append(retval, PyString_FromString(flags_class->values[i].value_nick)); + PyList_Append(retval, _PyUnicode_FromString(flags_class->values[i].value_nick)); g_type_class_unref(flags_class); diff --git a/gobject/pygobject.c b/gobject/pygobject.c index 4c5a012..31d048b 100644 --- a/gobject/pygobject.c +++ b/gobject/pygobject.c @@ -260,7 +260,7 @@ build_parameter_list(GObjectClass *class) name = g_strdup(g_param_spec_get_name(props[i])); /* hyphens cannot belong in identifiers */ g_strdelimit(name, "-", '_'); - prop_str = PyString_FromString(name); + prop_str = _PyUnicode_FromString(name); PyList_SetItem(props_list, i, prop_str); } @@ -280,7 +280,7 @@ PyGProps_getattro(PyGProps *self, PyObject *attr) GValue value = { 0, }; PyObject *ret; - attr_name = PyString_AsString(attr); + attr_name = _PyUnicode_AsString(attr); if (!attr_name) { PyErr_Clear(); return PyObject_GenericGetAttr((PyObject *)self, attr); @@ -368,7 +368,7 @@ PyGProps_setattro(PyGProps *self, PyObject *attr, PyObject *pvalue) return -1; } - attr_name = PyString_AsString(attr); + attr_name = _PyUnicode_AsString(attr); if (!attr_name) { PyErr_Clear(); return PyObject_GenericSetAttr((PyObject *)self, attr, pvalue); @@ -611,7 +611,7 @@ pygobject_register_class(PyObject *dict, const gchar *type_name, */ s = strrchr(type->tp_name, '.'); if (s != NULL) { - mod_name = PyString_FromStringAndSize(type->tp_name, (int)(s - type->tp_name)); + mod_name = _PyUnicode_FromStringAndSize(type->tp_name, (int)(s - type->tp_name)); PyDict_SetItemString(type->tp_dict, "__module__", mod_name); Py_DECREF(mod_name); } @@ -1021,7 +1021,7 @@ pygobject_repr(PyGObject *self) (long)self, self->obj ? G_OBJECT_TYPE_NAME(self->obj) : "uninitialized", (long)self->obj); - return PyString_FromString(buf); + return _PyUnicode_FromString(buf); } @@ -1113,7 +1113,7 @@ pygobject_init(PyGObject *self, PyObject *args, PyObject *kwargs) params = g_new0(GParameter, PyDict_Size(kwargs)); while (PyDict_Next (kwargs, &pos, &key, &value)) { GParamSpec *pspec; - gchar *key_str = PyString_AsString(key); + gchar *key_str = _PyUnicode_AsString(key); pspec = g_object_class_find_property (class, key_str); if (!pspec) { @@ -1219,13 +1219,13 @@ pygobject_get_properties(PyGObject *self, PyObject *args) GValue value = { 0 }; PyObject *item; - if (!PyString_Check(py_property)) { + if (!_PyUnicode_Check(py_property)) { PyErr_SetString(PyExc_TypeError, "Expected string argument for property."); return NULL; } - property_name = PyString_AsString(py_property); + property_name = _PyUnicode_AsString(py_property); pspec = g_object_class_find_property(G_OBJECT_GET_CLASS(self->obj), property_name); @@ -1298,7 +1298,7 @@ pygobject_set_properties(PyGObject *self, PyObject *args, PyObject *kwargs) pos = 0; while (kwargs && PyDict_Next (kwargs, &pos, &key, &value)) { - gchar *key_str = PyString_AsString (key); + gchar *key_str = _PyUnicode_AsString (key); GParamSpec *pspec; GValue gvalue ={ 0, }; @@ -1443,7 +1443,7 @@ pygobject_connect(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj), &sigid, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -1492,7 +1492,7 @@ pygobject_connect_after(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj), &sigid, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -1541,7 +1541,7 @@ pygobject_connect_object(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj), &sigid, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -1590,7 +1590,7 @@ pygobject_connect_object_after(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj), &sigid, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -1689,7 +1689,7 @@ pygobject_emit(PyGObject *self, PyObject *args) if (!g_signal_parse_name(name, G_OBJECT_TYPE(self->obj), &signal_id, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), name); return NULL; } @@ -1765,7 +1765,7 @@ pygobject_stop_emission(PyGObject *self, PyObject *args) if (!g_signal_parse_name(signal, G_OBJECT_TYPE(self->obj), &signal_id, &detail, TRUE)) { PyErr_Format(PyExc_TypeError, "%s: unknown signal name: %s", - PyString_AsString(PyObject_Repr((PyObject*)self)), + _PyUnicode_AsString(PyObject_Repr((PyObject*)self)), signal); return NULL; } @@ -1913,7 +1913,7 @@ pygobject_disconnect_by_func(PyGObject *self, PyObject *args) closure = gclosure_from_pyfunc(self, pyfunc); if (!closure) { PyErr_Format(PyExc_TypeError, "nothing connected to %s", - PyString_AsString(PyObject_Repr((PyObject*)pyfunc))); + _PyUnicode_AsString(PyObject_Repr((PyObject*)pyfunc))); return NULL; } @@ -1945,7 +1945,7 @@ pygobject_handler_block_by_func(PyGObject *self, PyObject *args) closure = gclosure_from_pyfunc(self, pyfunc); if (!closure) { PyErr_Format(PyExc_TypeError, "nothing connected to %s", - PyString_AsString(PyObject_Repr((PyObject*)pyfunc))); + _PyUnicode_AsString(PyObject_Repr((PyObject*)pyfunc))); return NULL; } @@ -1977,7 +1977,7 @@ pygobject_handler_unblock_by_func(PyGObject *self, PyObject *args) closure = gclosure_from_pyfunc(self, pyfunc); if (!closure) { PyErr_Format(PyExc_TypeError, "nothing connected to %s", - PyString_AsString(PyObject_Repr((PyObject*)pyfunc))); + _PyUnicode_AsString(PyObject_Repr((PyObject*)pyfunc))); return NULL; } @@ -2348,7 +2348,7 @@ pygobject_object_register_types(PyObject *d) descr = PyObject_New(PyObject, &PyGPropsDescr_Type); PyDict_SetItemString(PyGObject_Type.tp_dict, "props", descr); PyDict_SetItemString(PyGObject_Type.tp_dict, "__module__", - o=PyString_FromString("gobject._gobject")); + o=_PyUnicode_FromString("gobject._gobject")); Py_DECREF(o); PyType_Ready(&PyGObjectWeakRef_Type); diff --git a/gobject/pygparamspec.c b/gobject/pygparamspec.c index 8cc3b3e..8a62141 100644 --- a/gobject/pygparamspec.c +++ b/gobject/pygparamspec.c @@ -50,7 +50,7 @@ pyg_param_spec_repr(PyGParamSpec *self) g_snprintf(buf, sizeof(buf), "<%s '%s'>", G_PARAM_SPEC_TYPE_NAME(self->pspec), g_param_spec_get_name(self->pspec)); - return PyString_FromString(buf); + return _PyUnicode_FromString(buf); } static void @@ -131,7 +131,7 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr) "maximum", "minimum", "name", "nick", "owner_type", "value_type"); } else if (!strcmp(attr, "default_value")) { - return PyString_FromFormat( + return _PyUnicode_FromFormat( "%c", G_PARAM_SPEC_CHAR(pspec)->default_value); } else if (!strcmp(attr, "minimum")) { return PyInt_FromLong(G_PARAM_SPEC_CHAR(pspec)->minimum); @@ -146,7 +146,7 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr) "name", "nick", "owner_type", "value_type"); } else if (!strcmp(attr, "default_value")) { - return PyString_FromFormat( + return _PyUnicode_FromFormat( "%c", G_PARAM_SPEC_UCHAR(pspec)->default_value); } else if (!strcmp(attr, "minimum")) { return PyInt_FromLong(G_PARAM_SPEC_UCHAR(pspec)->minimum); @@ -249,7 +249,7 @@ pyg_param_spec_getattr(PyGParamSpec *self, const gchar *attr) "flags", "name", "nick", "owner_type", "value_type"); } else if (!strcmp(attr, "default_value")) { - return PyString_FromFormat( + return _PyUnicode_FromFormat( "%c", G_PARAM_SPEC_UNICHAR(pspec)->default_value); } } else if (G_IS_PARAM_SPEC_ENUM(pspec)) { diff --git a/gobject/pygpointer.c b/gobject/pygpointer.c index 1850d7b..013ea6c 100644 --- a/gobject/pygpointer.c +++ b/gobject/pygpointer.c @@ -57,7 +57,7 @@ pyg_pointer_repr(PyGPointer *self) g_snprintf(buf, sizeof(buf), "<%s at 0x%lx>", g_type_name(self->gtype), (long)self->pointer); - return PyString_FromString(buf); + return _PyUnicode_FromString(buf); } static int diff --git a/gobject/pygtype.c b/gobject/pygtype.c index 0f04bab..ae1bbc7 100644 --- a/gobject/pygtype.c +++ b/gobject/pygtype.c @@ -58,7 +58,7 @@ pyg_type_wrapper_repr(PyGTypeWrapper *self) g_snprintf(buf, sizeof(buf), "<GType %s (%lu)>", name?name:"invalid", (unsigned long int) self->type); - return PyString_FromString(buf); + return _PyUnicode_FromString(buf); } static void @@ -84,7 +84,7 @@ static PyObject * _wrap_g_type_wrapper__get_name(PyGTypeWrapper *self, void *closure) { const char *name = g_type_name(self->type); - return PyString_FromString(g_strdup(name ? name : "invalid")); + return _PyUnicode_FromString(g_strdup(name ? name : "invalid")); } static PyObject * @@ -368,7 +368,7 @@ pyg_type_from_object(PyObject *obj) return G_TYPE_LONG; else if (tp == &PyFloat_Type) return G_TYPE_DOUBLE; - else if (tp == &PyString_Type) + else if (tp == &_PyUnicode_Type) return G_TYPE_STRING; else if (tp == &PyBaseObject_Type) return PY_TYPE_OBJECT; @@ -379,8 +379,8 @@ pyg_type_from_object(PyObject *obj) } /* handle strings */ - if (PyString_Check(obj)) { - gchar *name = PyString_AsString(obj); + if (_PyUnicode_Check(obj)) { + gchar *name = _PyUnicode_AsString(obj); type = _pyg_type_from_name(name); if (type != 0) { @@ -439,9 +439,9 @@ pyg_enum_get_value(GType enum_type, PyObject *obj, gint *val) g_type_name(enum_type), g_type_name(((PyGEnum *) obj)->gtype)); } - } else if (PyString_Check(obj)) { + } else if (_PyUnicode_Check(obj)) { GEnumValue *info; - char *str = PyString_AsString(obj); + char *str = _PyUnicode_AsString(obj); if (enum_type != G_TYPE_NONE) eclass = G_ENUM_CLASS(g_type_class_ref(enum_type)); @@ -499,9 +499,9 @@ pyg_flags_get_value(GType flag_type, PyObject *obj, gint *val) } else if (PyLong_Check(obj)) { *val = PyLong_AsLongLong(obj); res = 0; - } else if (PyString_Check(obj)) { + } else if (_PyUnicode_Check(obj)) { GFlagsValue *info; - char *str = PyString_AsString(obj); + char *str = _PyUnicode_AsString(obj); if (flag_type != G_TYPE_NONE) fclass = G_FLAGS_CLASS(g_type_class_ref(flag_type)); @@ -537,7 +537,7 @@ pyg_flags_get_value(GType flag_type, PyObject *obj, gint *val) for (i = 0; i < len; i++) { PyObject *item = PyTuple_GetItem(obj, i); - char *str = PyString_AsString(item); + char *str = _PyUnicode_AsString(item); GFlagsValue *info = g_flags_get_value_by_name(fclass, str); if (!info) @@ -708,7 +708,7 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) break; case G_TYPE_CHAR: if ((tmp = PyObject_Str(obj))) - g_value_set_char(value, PyString_AsString(tmp)[0]); + g_value_set_char(value, _PyUnicode_AsString(tmp)[0]); else { PyErr_Clear(); return -1; @@ -717,7 +717,7 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) break; case G_TYPE_UCHAR: if ((tmp = PyObject_Str(obj))) - g_value_set_char(value, PyString_AsString(tmp)[0]); + g_value_set_char(value, _PyUnicode_AsString(tmp)[0]); else { PyErr_Clear(); return -1; @@ -839,7 +839,7 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) if (obj == Py_None) g_value_set_string(value, NULL); else if ((tmp = PyObject_Str(obj))) { - g_value_set_string(value, PyString_AsString(tmp)); + g_value_set_string(value, _PyUnicode_AsString(tmp)); Py_DECREF(tmp); } else { PyErr_Clear(); @@ -884,12 +884,12 @@ pyg_value_from_pyobject(GValue *value, PyObject *obj) else if (PySequence_Check(obj) && G_VALUE_HOLDS(value, G_TYPE_VALUE_ARRAY)) return pyg_value_array_from_pyobject(value, obj, NULL); - else if (PyString_Check(obj) && + else if (_PyUnicode_Check(obj) && G_VALUE_HOLDS(value, G_TYPE_GSTRING)) { GString *string; char *buffer; Py_ssize_t len; - if (PyString_AsStringAndSize(obj, &buffer, &len)) + if (_PyUnicode_AsStringAndSize(obj, &buffer, &len)) return -1; string = g_string_new_len(buffer, len); g_value_set_boxed(value, string); @@ -953,11 +953,11 @@ pyg_value_as_pyobject(const GValue *value, gboolean copy_boxed) break; case G_TYPE_CHAR: { gint8 val = g_value_get_char(value); - return PyString_FromStringAndSize((char *)&val, 1); + return _PyUnicode_FromStringAndSize((char *)&val, 1); } case G_TYPE_UCHAR: { guint8 val = g_value_get_uchar(value); - return PyString_FromStringAndSize((char *)&val, 1); + return _PyUnicode_FromStringAndSize((char *)&val, 1); } case G_TYPE_BOOLEAN: { return PyBool_FromLong(g_value_get_boolean(value)); @@ -1018,7 +1018,7 @@ pyg_value_as_pyobject(const GValue *value, gboolean copy_boxed) const gchar *str = g_value_get_string(value); if (str) - return PyString_FromString(str); + return _PyUnicode_FromString(str); Py_INCREF(Py_None); return Py_None; } @@ -1048,7 +1048,7 @@ pyg_value_as_pyobject(const GValue *value, gboolean copy_boxed) return ret; } else if (G_VALUE_HOLDS(value, G_TYPE_GSTRING)) { GString *string = (GString *) g_value_get_boxed(value); - PyObject *ret = PyString_FromStringAndSize(string->str, string->len); + PyObject *ret = _PyUnicode_FromStringAndSize(string->str, string->len); return ret; } bm = pyg_type_lookup(G_VALUE_TYPE(value)); @@ -1522,7 +1522,7 @@ object_doc_descr_get(PyObject *self, PyObject *obj, PyObject *type) g_array_free(parents, TRUE); } - pystring = PyString_FromStringAndSize(string->str, string->len); + pystring = _PyUnicode_FromStringAndSize(string->str, string->len); g_string_free(string, TRUE); return pystring; } @@ -1756,7 +1756,7 @@ _pyg_strv_from_gvalue(const GValue *value) } py_argv = PyList_New(argc); for (i = 0; i < argc; ++i) - PyList_SET_ITEM(py_argv, i, PyString_FromString(argv[i])); + PyList_SET_ITEM(py_argv, i, _PyUnicode_FromString(argv[i])); return py_argv; } @@ -1771,11 +1771,11 @@ _pyg_strv_to_gvalue(GValue *value, PyObject *obj) argc = PySequence_Length(obj); for (i = 0; i < argc; ++i) - if (!PyString_Check(PySequence_Fast_GET_ITEM(obj, i))) + if (!_PyUnicode_Check(PySequence_Fast_GET_ITEM(obj, i))) return -1; argv = g_new(gchar *, argc + 1); for (i = 0; i < argc; ++i) - argv[i] = g_strdup(PyString_AsString(PySequence_Fast_GET_ITEM(obj, i))); + argv[i] = g_strdup(_PyUnicode_AsString(PySequence_Fast_GET_ITEM(obj, i))); argv[i] = NULL; g_value_take_boxed(value, argv); return 0; |