From db07def4e878b7237a61d4ac73a861d7422a5578 Mon Sep 17 00:00:00 2001 From: Johan Dahlin Date: Tue, 8 Apr 2008 15:12:21 +0000 Subject: Add bindings for content_type_guess. Based on patch by Thomas Leonard 2008-04-08 Johan Dahlin * gio/gio.defs: * gio/gio.override: * tests/test_gio.py: Add bindings for content_type_guess. Based on patch by Thomas Leonard (#525113) svn path=/trunk/; revision=768 --- gio/gio.defs | 7 +++++++ gio/gio.override | 30 ++++++++++++++++++++++++++++++ 2 files changed, 37 insertions(+) (limited to 'gio') diff --git a/gio/gio.defs b/gio/gio.defs index 4f293ac..dfe70ec 100644 --- a/gio/gio.defs +++ b/gio/gio.defs @@ -544,6 +544,13 @@ ) (define-function content_type_guess + (docstring +"content_type_guess(filename=None, data=None, want_uncertain=False) -> mime-type\n" +"\n" +"Guesses the content-type based on the parameters passed.\n" +"Returns a string containing the mime type.\n" +"If want_uncertain is set to True, return a tuple with the mime type and \n" +"True/False if the type guess was uncertain or not.") (c-name "g_content_type_guess") (return-type "char*") (parameters diff --git a/gio/gio.override b/gio/gio.override index 33b8611..e34e5f9 100644 --- a/gio/gio.override +++ b/gio/gio.override @@ -180,3 +180,33 @@ _wrap_g_themed_icon_get_names(PyGObject *self) return ret; } +%% +override g_content_type_guess kwargs +static PyObject * +_wrap_g_content_type_guess(PyGObject *self, PyObject *args, PyObject *kwargs) +{ + char *kwlist[] = {"filename", "data", "want_uncertain", NULL}; + char *filename = NULL, *data = NULL, *type; + int data_size = 0; + gboolean result_uncertain, want_uncertain = FALSE; + + if (!PyArg_ParseTupleAndKeywords (args, kwargs, + "|zz#i:g_content_type_guess", + kwlist, + &filename, &data, &data_size, + &want_uncertain)) + return NULL; + + if (!filename && !data) { + PyErr_SetString(PyExc_TypeError, "need at least one argument"); + return NULL; + } + + type = g_content_type_guess(filename, (guchar *) data, + data_size, &result_uncertain); + + if (want_uncertain) + return Py_BuildValue("zN", type, + PyBool_FromLong(result_uncertain)); + return PyString_FromString(type); +} -- cgit