From ec3ab4f8d2d5d4d4d65996cc0a5309ce5e2772f2 Mon Sep 17 00:00:00 2001 From: Paul Pogonyshev Date: Mon, 8 Sep 2008 21:20:44 +0000 Subject: Bug 549517 – add __repr__ to gio.Drive, gio.Mount and gio.Volume MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 2008-09-09 Paul Pogonyshev 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. svn path=/trunk/; revision=969 --- ChangeLog | 9 +++++++++ gio/gio.override | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ gio/gvolume.override | 20 ++++++++++++++++++++ 3 files changed, 79 insertions(+) diff --git a/ChangeLog b/ChangeLog index 3d715da..d2741af 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-09-09 Paul Pogonyshev + + 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 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; +} -- cgit