pygobject r882 - in trunk: . glib gobject



Author: johan
Date: Sun Jul 27 09:06:41 2008
New Revision: 882
URL: http://svn.gnome.org/viewvc/pygobject?rev=882&view=rev

Log:
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



Modified:
   trunk/ChangeLog
   trunk/glib/pyglib-python-compat.h
   trunk/gobject/gobjectmodule.c
   trunk/gobject/pygboxed.c
   trunk/gobject/pygenum.c
   trunk/gobject/pygflags.c
   trunk/gobject/pygobject.c
   trunk/gobject/pygparamspec.c
   trunk/gobject/pygpointer.c
   trunk/gobject/pygtype.c

Modified: trunk/glib/pyglib-python-compat.h
==============================================================================
--- trunk/glib/pyglib-python-compat.h	(original)
+++ trunk/glib/pyglib-python-compat.h	Sun Jul 27 09:06:41 2008
@@ -38,6 +38,7 @@
 #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 @@
 #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

Modified: trunk/gobject/gobjectmodule.c
==============================================================================
--- trunk/gobject/gobjectmodule.c	(original)
+++ trunk/gobject/gobjectmodule.c	Sun Jul 27 09:06:41 2008
@@ -116,7 +116,7 @@
 	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 @@
     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 @@
 
     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 @@
 	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 @@
 	
 	/* 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 @@
             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 @@
     {
 	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 @@
     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 @@
 	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 @@
     }
 
     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 @@
 	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 @@
 
     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 @@
     
     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;
     }

Modified: trunk/gobject/pygboxed.c
==============================================================================
--- trunk/gobject/pygboxed.c	(original)
+++ trunk/gobject/pygboxed.c	Sun Jul 27 09:06:41 2008
@@ -64,7 +64,7 @@
 
     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

Modified: trunk/gobject/pygenum.c
==============================================================================
--- trunk/gobject/pygenum.c	(original)
+++ trunk/gobject/pygenum.c	Sun Jul 27 09:06:41 2008
@@ -72,7 +72,7 @@
 
   g_type_class_unref(enum_class);
 
-  return PyString_FromString(tmp);
+  return _PyUnicode_FromString(tmp);
 }
 
 static PyObject *
@@ -212,7 +212,7 @@
     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 @@
   
   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 @@
   
   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;

Modified: trunk/gobject/pygflags.c
==============================================================================
--- trunk/gobject/pygflags.c	(original)
+++ trunk/gobject/pygflags.c	Sun Jul 27 09:06:41 2008
@@ -102,7 +102,7 @@
                                  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 @@
     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 @@
   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 @@
 
   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 @@
   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 @@
   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);
 

Modified: trunk/gobject/pygobject.c
==============================================================================
--- trunk/gobject/pygobject.c	(original)
+++ trunk/gobject/pygobject.c	Sun Jul 27 09:06:41 2008
@@ -260,7 +260,7 @@
 	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 @@
     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 @@
 	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 @@
      */
     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 @@
 	       (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 @@
 	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 @@
         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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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 @@
     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);

Modified: trunk/gobject/pygparamspec.c
==============================================================================
--- trunk/gobject/pygparamspec.c	(original)
+++ trunk/gobject/pygparamspec.c	Sun Jul 27 09:06:41 2008
@@ -50,7 +50,7 @@
     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 @@
 				 "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 @@
 				 "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 @@
 				 "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)) {

Modified: trunk/gobject/pygpointer.c
==============================================================================
--- trunk/gobject/pygpointer.c	(original)
+++ trunk/gobject/pygpointer.c	Sun Jul 27 09:06:41 2008
@@ -57,7 +57,7 @@
 
     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

Modified: trunk/gobject/pygtype.c
==============================================================================
--- trunk/gobject/pygtype.c	(original)
+++ trunk/gobject/pygtype.c	Sun Jul 27 09:06:41 2008
@@ -58,7 +58,7 @@
 
     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 @@
 _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 @@
 	    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 @@
     }
 
     /* 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 @@
 		      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 @@
     } 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 @@
 
 	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 @@
 	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 @@
 	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 @@
 	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 @@
         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 @@
 	    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 @@
 	    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 @@
 	    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 @@
         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 @@
     }
     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 @@
 
     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;



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]