summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul Pogonyshev <pogonyshev@gmx.net>2008-09-08 21:20:44 +0000
committerPaul Pogonyshev <paulp@src.gnome.org>2008-09-08 21:20:44 +0000
commitec3ab4f8d2d5d4d4d65996cc0a5309ce5e2772f2 (patch)
tree61be8f2a12ac825f8ebc6e091869f8755255b470
parent3d7bd65b9028f21e327019a7e53efde21b49d91a (diff)
downloadpygobject-ec3ab4f8d2d5d4d4d65996cc0a5309ce5e2772f2.tar.gz
pygobject-ec3ab4f8d2d5d4d4d65996cc0a5309ce5e2772f2.tar.xz
pygobject-ec3ab4f8d2d5d4d4d65996cc0a5309ce5e2772f2.zip
Bug 549517 – add __repr__ to gio.Drive, gio.Mount and gio.Volume
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. svn path=/trunk/; revision=969
-rw-r--r--ChangeLog9
-rw-r--r--gio/gio.override50
-rw-r--r--gio/gvolume.override20
3 files changed, 79 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 3d715da..d2741af 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -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;
+}