diff options
Diffstat (limited to 'src/sugar3/_sugarbaseext.override')
-rw-r--r-- | src/sugar3/_sugarbaseext.override | 88 |
1 files changed, 88 insertions, 0 deletions
diff --git a/src/sugar3/_sugarbaseext.override b/src/sugar3/_sugarbaseext.override new file mode 100644 index 0000000..18356a9 --- /dev/null +++ b/src/sugar3/_sugarbaseext.override @@ -0,0 +1,88 @@ +/* -*- Mode: C; c-basic-offset: 4 -*- */ +%% +headers +#include <Python.h> +#include <glib.h> +#include "xdgmime.h" +%% +modulename _sugarext +%% +ignore-glob + *_get_type + _* +%% +override sugar_mime_get_mime_type_for_file kwargs +static PyObject * +_wrap_sugar_mime_get_mime_type_for_file(PyObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "filename", NULL }; + char *filename; + const char *ret; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"s:get_mime_type_for_file", kwlist, &filename)) + return NULL; + + ret = sugar_mime_get_mime_type_for_file(filename, NULL); + + if (ret) + return PyString_FromString(ret); + Py_INCREF(Py_None); + return Py_None; +} +%% +override sugar_mime_list_mime_parents kwargs +static PyObject * +_wrap_sugar_mime_list_mime_parents(PyObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "mime_type", NULL }; + char *mime_type; + char **parents, **tmp; + int i = 0, j; + PyObject *ret; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"s:list_mime_parents", kwlist, &mime_type)) + return NULL; + + parents = (char **)sugar_mime_list_mime_parents(mime_type); + if (!parents) + return PyTuple_New(0); + + tmp = parents; + while (*tmp) + tmp++, i++; + + ret = PyTuple_New(i); + for (j = 0; j < i; j++) + PyTuple_SetItem(ret, j, PyString_FromString(parents[j])); + + return ret; +} +%% +override g_uri_list_extract_uris kwargs +static PyObject * +_wrap_g_uri_list_extract_uris(PyObject *self, PyObject *args, PyObject *kwargs) +{ + static char *kwlist[] = { "uri_list", NULL }; + char *uri_list; + char **uris, **tmp; + int i = 0, j; + PyObject *ret; + + if (!PyArg_ParseTupleAndKeywords(args, kwargs,"s:uri_list_extract_uris", kwlist, &uri_list)) + return NULL; + + uris = (char **)g_uri_list_extract_uris(uri_list); + if (!uris) + return PyTuple_New(0); + + tmp = uris; + while (*tmp) + tmp++, i++; + + ret = PyTuple_New(i); + for (j = 0; j < i; j++) + PyTuple_SetItem(ret, j, PyString_FromString(uris[j])); + + return ret; +} +%% |