diff options
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | gio/gio.override | 50 | ||||
| -rw-r--r-- | gio/gvolume.override | 20 |
3 files changed, 79 insertions, 0 deletions
@@ -1,3 +1,12 @@ +2008-09-09 Paul Pogonyshev <pogonyshev@gmx.net> + + Bug 549517 – add __repr__ to gio.Drive, gio.Mount and gio.Volume + + * gio/gio.override (_wrap_g_drive_tp_repr, _wrap_g_mount_tp_repr): + New functions. + + * gio/gvolume.override (_wrap_g_volume_tp_repr): New function. + 2008-09-09 Loïc Minier <lool@dooz.org> Bug 551227 – Missing AC_CONFIG_MACRO_DIR([m4]) diff --git a/gio/gio.override b/gio/gio.override index deefd6b..e6916a0 100644 --- a/gio/gio.override +++ b/gio/gio.override @@ -238,6 +238,26 @@ _wrap_g_drive_poll_for_media(PyGObject *self, PyObject *args, PyObject *kwargs) return Py_None; } %% +override-slot GDrive.tp_repr +static PyObject * +_wrap_g_drive_tp_repr(PyGObject *self) +{ + char *name = g_drive_get_name(G_DRIVE(self->obj)); + gchar *representation; + PyObject *result; + + if (name) { + representation = g_strdup_printf("<%s at %p: %s>", self->ob_type->tp_name, self, name); + g_free(name); + } + else + representation = g_strdup_printf("<%s at %p: UNKNOWN NAME>", self->ob_type->tp_name, self); + + result = PyString_FromString(representation); + g_free(representation); + return result; +} +%% override g_app_info_get_all noargs static PyObject * _wrap_g_app_info_get_all (PyGObject *self) @@ -493,6 +513,36 @@ _wrap_g_mount_remount(PyGObject *self, PyObject *args, PyObject *kwargs) return Py_None; } %% +override-slot GMount.tp_repr +static PyObject * +_wrap_g_mount_tp_repr(PyGObject *self) +{ + char *name = g_mount_get_name(G_MOUNT(self->obj)); + char *uuid = g_mount_get_uuid(G_MOUNT(self->obj)); + gchar *representation; + PyObject *result; + + if (name) { + if (uuid) { + representation = g_strdup_printf("<%s at %p: %s (%s)>", + self->ob_type->tp_name, self, name, uuid); + } + else { + representation = g_strdup_printf("<%s at %p: %s>", + self->ob_type->tp_name, self, name); + } + } + else + representation = g_strdup_printf("<%s at %p: UNKNOWN NAME>", self->ob_type->tp_name, self); + + g_free(name); + g_free(uuid); + + result = PyString_FromString(representation); + g_free(representation); + return result; +} +%% override g_vfs_get_supported_uri_schemes noargs static PyObject * _wrap_g_vfs_get_supported_uri_schemes(PyGObject *self) diff --git a/gio/gvolume.override b/gio/gvolume.override index 3345ced..013408f 100644 --- a/gio/gvolume.override +++ b/gio/gvolume.override @@ -133,3 +133,23 @@ _wrap_g_volume_eject(PyGObject *self, Py_INCREF(Py_None); return Py_None; } +%% +override-slot GVolume.tp_repr +static PyObject * +_wrap_g_volume_tp_repr(PyGObject *self) +{ + char *name = g_volume_get_name(G_VOLUME(self->obj)); + gchar *representation; + PyObject *result; + + if (name) { + representation = g_strdup_printf("<%s at %p: %s>", self->ob_type->tp_name, self, name); + g_free(name); + } + else + representation = g_strdup_printf("<%s at %p: UNKNOWN NAME>", self->ob_type->tp_name, self); + + result = PyString_FromString(representation); + g_free(representation); + return result; +} |
