Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomeu Vizoso <tomeu@tomeuvizoso.net>2007-12-05 17:11:39 (GMT)
committer Tomeu Vizoso <tomeu@tomeuvizoso.net>2007-12-05 17:11:39 (GMT)
commit8c2e8c0263200f7557bfdb51c1d58f5633e1c3c0 (patch)
tree73eec35332c26ebdc5f9ebda3284f17e2dc3b77e
parent084d55045a77e57e053d4c0f7e2ce00c75333538 (diff)
#5080: Use uri_list_extract_uris implementation from glib.upstream/0.2.git20071211
-rw-r--r--src/sugar/_sugarbaseext.defs8
-rw-r--r--src/sugar/_sugarbaseext.override28
-rw-r--r--src/sugar/mime.py8
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')