summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJohan Dahlin <johan@gnome.org>2008-08-02 06:13:46 +0000
committerJohan Dahlin <johan@src.gnome.org>2008-08-02 06:13:46 +0000
commite72525344fdab47604282581fec6d7ad449c1f76 (patch)
tree3223325152bdbc21b8b4f66807c6c8043b1f91ec
parent0b6932cf263ac3dc68640e3f59e0d83678315aea (diff)
downloadpygobject-e72525344fdab47604282581fec6d7ad449c1f76.tar.gz
pygobject-e72525344fdab47604282581fec6d7ad449c1f76.tar.xz
pygobject-e72525344fdab47604282581fec6d7ad449c1f76.zip
Add pyglib_float_from_timeval and use it
2008-08-02 Johan Dahlin <johan@gnome.org> * 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
-rw-r--r--ChangeLog9
-rw-r--r--gio/gfileinfo.override5
-rw-r--r--gio/gio.override1
-rw-r--r--glib/glibmodule.c4
-rw-r--r--glib/pyglib.c16
-rw-r--r--glib/pyglib.h1
6 files changed, 29 insertions, 7 deletions
diff --git a/ChangeLog b/ChangeLog
index 698d338..3245c07 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,14 @@
2008-08-02 Johan Dahlin <johan@gnome.org>
+ * 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 <johan@gnome.org>
+
* docs/Makefile.am:
* docs/reference/pyglib-constants.xml:
* docs/reference/pyglib-functions.xml:
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 <pygobject.h>
#include <gio/gio.h>
#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 { \