diff options
author | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-12-05 17:11:39 (GMT) |
---|---|---|
committer | Tomeu Vizoso <tomeu@tomeuvizoso.net> | 2007-12-05 17:11:39 (GMT) |
commit | 8c2e8c0263200f7557bfdb51c1d58f5633e1c3c0 (patch) | |
tree | 73eec35332c26ebdc5f9ebda3284f17e2dc3b77e | |
parent | 084d55045a77e57e053d4c0f7e2ce00c75333538 (diff) |
#5080: Use uri_list_extract_uris implementation from glib.upstream/0.2.git20071211
-rw-r--r-- | src/sugar/_sugarbaseext.defs | 8 | ||||
-rw-r--r-- | src/sugar/_sugarbaseext.override | 28 | ||||
-rw-r--r-- | src/sugar/mime.py | 8 |
3 files changed, 37 insertions, 7 deletions
diff --git a/src/sugar/_sugarbaseext.defs b/src/sugar/_sugarbaseext.defs index 7348c27..893219a 100644 --- a/src/sugar/_sugarbaseext.defs +++ b/src/sugar/_sugarbaseext.defs @@ -23,3 +23,11 @@ '("const-char*" "mime") ) ) + +(define-function uri_list_extract_uris + (c-name "g_uri_list_extract_uris") + (return-type "gchar**") + (parameters + '("const-char*" "uri_list") + ) +) diff --git a/src/sugar/_sugarbaseext.override b/src/sugar/_sugarbaseext.override index 03ed38a..18356a9 100644 --- a/src/sugar/_sugarbaseext.override +++ b/src/sugar/_sugarbaseext.override @@ -58,3 +58,31 @@ _wrap_sugar_mime_list_mime_parents(PyObject *self, PyObject *args, PyObject *kwa 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; +} +%% diff --git a/src/sugar/mime.py b/src/sugar/mime.py index 2497389..e54e063 100644 --- a/src/sugar/mime.py +++ b/src/sugar/mime.py @@ -193,13 +193,7 @@ def choose_most_significant(mime_types): return mime_types[0] def split_uri_list(uri_list): - result = [] - - splitted = uri_list.split('\n') - for uri in splitted: - result.append(uri.strip()) - - return result + return _sugarbaseext.uri_list_extract_uris(uri_list) def _file_looks_like_text(file_name): f = open(file_name, 'r') |