From e72525344fdab47604282581fec6d7ad449c1f76 Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Sat, 2 Aug 2008 06:13:46 +0000 Subject: Add pyglib_float_from_timeval and use it 2008-08-02 Johan Dahlin * gio/gfileinfo.override: * gio/gio.override: * glib/glibmodule.c (pyglib_get_current_time): * glib/pyglib.c (pyglib_float_from_timeval): * glib/pyglib.h: Add pyglib_float_from_timeval and use it svn path=/trunk/; revision=911 --- ChangeLog | 9 +++++++++ gio/gfileinfo.override | 5 +---- gio/gio.override | 1 + glib/glibmodule.c | 4 +--- glib/pyglib.c | 16 ++++++++++++++++ glib/pyglib.h | 1 + 6 files changed, 29 insertions(+), 7 deletions(-) diff --git a/ChangeLog b/ChangeLog index 698d338..3245c07 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2008-08-02 Johan Dahlin + + * gio/gfileinfo.override: + * gio/gio.override: + * glib/glibmodule.c (pyglib_get_current_time): + * glib/pyglib.c (pyglib_float_from_timeval): + * glib/pyglib.h: + Add pyglib_float_from_timeval and use it + 2008-08-02 Johan Dahlin * docs/Makefile.am: diff --git a/gio/gfileinfo.override b/gio/gfileinfo.override index 0827acc..4b60c62 100644 --- a/gio/gfileinfo.override +++ b/gio/gfileinfo.override @@ -56,12 +56,9 @@ static PyObject * _wrap_g_file_info_get_modification_time(PyGObject *self, PyObject *unused) { GTimeVal timeval; - double ret; g_file_info_get_modification_time(G_FILE_INFO(self->obj), &timeval); - - ret = (double)timeval.tv_sec + (double)timeval.tv_usec * 0.000001; - return PyFloat_FromDouble(ret); + return pyglib_float_from_timeval(timeval); } /* GFileInfo.get_attribute_data: No ArgType for GFileAttributeType* */ diff --git a/gio/gio.override b/gio/gio.override index 74ae6f7..13a4950 100644 --- a/gio/gio.override +++ b/gio/gio.override @@ -29,6 +29,7 @@ headers #include #include #include "pygio-utils.h" +#include "pyglib.h" #define BUFSIZE 8192 diff --git a/glib/glibmodule.c b/glib/glibmodule.c index 79ae6c8..446be87 100644 --- a/glib/glibmodule.c +++ b/glib/glibmodule.c @@ -401,11 +401,9 @@ static PyObject * pyglib_get_current_time(PyObject *unused) { GTimeVal timeval; - double ret; g_get_current_time(&timeval); - ret = (double)timeval.tv_sec + (double)timeval.tv_usec * 0.000001; - return PyFloat_FromDouble(ret); + return pyglib_float_from_timeval(timeval); } static PyObject * diff --git a/glib/pyglib.c b/glib/pyglib.c index 24327f1..1c33995 100644 --- a/glib/pyglib.c +++ b/glib/pyglib.c @@ -471,6 +471,22 @@ pyglib_option_context_new (GOptionContext *context) return (PyObject *)self; } +/** + * pyglib_option_context_new: + * @context: a GTimeVal struct + * + * Converts a GTimeVal struct to a python float + * + * Returns: a float representing the timeval + */ +PyObject * +pyglib_float_from_timeval(GTimeVal timeval) +{ + double ret; + ret = (double)timeval.tv_sec + (double)timeval.tv_usec * 0.000001; + return PyFloat_FromDouble(ret); +} + /****** Private *****/ diff --git a/glib/pyglib.h b/glib/pyglib.h index 5659e77..d7322d3 100644 --- a/glib/pyglib.h +++ b/glib/pyglib.h @@ -48,6 +48,7 @@ void pyglib_unblock_threads(void); PyObject * pyglib_option_context_new(GOptionContext *context); PyObject * pyglib_option_group_new(GOptionGroup *group); GOptionGroup * pyglib_option_group_transfer_group(PyObject *self); +PyObject * pyglib_float_from_timeval(GTimeVal timeval); #define pyglib_begin_allow_threads \ G_STMT_START { \ -- cgit