From 82e18dfab3270e5ca972491be2d50d6b3b85f975 Mon Sep 17 00:00:00 2001 From: Gian Mario Tagliaretti Date: Sun, 5 Apr 2009 19:06:54 +0000 Subject: Wrap new GFile method. 2009-04-05 Gian Mario Tagliaretti * gio/gfile.override: (_wrap_g_file_set_display_name_async) Wrap new GFile method. * tests/test_gio.py: Test the above methods. svn path=/trunk/; revision=1056 --- ChangeLog | 7 +++++++ gio/gfile.override | 50 +++++++++++++++++++++++++++++++++++++++++++++++++- tests/test_gio.py | 16 ++++++++++++++++ 3 files changed, 72 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index c3f6fb3..1c9e7b6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2009-04-05 Gian Mario Tagliaretti + + * gio/gfile.override: + (_wrap_g_file_set_display_name_async) Wrap new GFile method. + + * tests/test_gio.py: Test the above methods. + 2009-04-05 Tristan Hill reviewed by: Gustavo J. A. M. Carneiro. diff --git a/gio/gfile.override b/gio/gfile.override index 406d62a..4cbeb1c 100644 --- a/gio/gfile.override +++ b/gio/gfile.override @@ -1514,7 +1514,55 @@ _wrap_g_file_set_attributes_finish(PyGObject *self, return py_ret; } +%% +override g_file_set_display_name_async kwargs +static PyObject * +_wrap_g_file_set_display_name_async(PyGObject *self, + PyObject *args, + PyObject *kwargs) +{ + static char *kwlist[] = { "display_name", "callback", + "io_priority", "cancellable", "user_data", NULL }; + PyGIONotify *notify; + char *display_name; + int io_priority = G_PRIORITY_DEFAULT; + GCancellable *cancellable = NULL; + PyGObject *py_cancellable = NULL; + + notify = pygio_notify_new(); + + if (!PyArg_ParseTupleAndKeywords(args, kwargs, + "sO|iOO:GFile.set_display_name_async", + kwlist, + &display_name, + ¬ify->callback, + &io_priority, + &py_cancellable, + ¬ify->data)) + goto error; + + if (!pygio_notify_callback_is_valid(notify)) + goto error; + + if (!pygio_check_cancellable(py_cancellable, &cancellable)) + goto error; + + pygio_notify_reference_callback(notify); + + g_file_set_display_name_async(G_FILE(self->obj), + display_name, + io_priority, + (GCancellable *) cancellable, + (GAsyncReadyCallback)async_result_callback_marshal, + notify); + + Py_INCREF(Py_None); + return Py_None; + + error: + pygio_notify_free(notify); + return NULL; +} -/* GFile.set_display_name_async */ /* GFile.load_partial_contents_async: No ArgType for GFileReadMoreCallback */ /* GFile.load_partial_contents_finish: No ArgType for char** */ diff --git a/tests/test_gio.py b/tests/test_gio.py index 6c6faa5..f94f2d0 100644 --- a/tests/test_gio.py +++ b/tests/test_gio.py @@ -472,6 +472,22 @@ class TestFile(unittest.TestCase): self.assertEquals(hash(gio.File('foo')), hash(gio.File('foo'))) + def testSetDisplayNameAsync(self): + def callback(gfile, result): + try: + new_gfile = gfile.set_display_name_finish(result) + new_name = new_gfile.get_basename() + self.assertEqual(new_name, "new.txt") + deleted = new_gfile.delete() + self.assertEqual(deleted, True) + finally: + loop.quit() + + canc = gio.Cancellable() + self.file.set_display_name_async("new.txt", callback, cancellable=canc) + + loop = glib.MainLoop() + loop.run() class TestGFileEnumerator(unittest.TestCase): def setUp(self): -- cgit