Web   ·   Wiki   ·   Activities   ·   Blog   ·   Lists   ·   Chat   ·   Meeting   ·   Bugs   ·   Git   ·   Translate   ·   Archive   ·   People   ·   Donate
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAleksey Lim <alsroot@member.fsf.org>2009-09-04 16:39:51 (GMT)
committer Aleksey Lim <alsroot@member.fsf.org>2009-09-04 16:39:51 (GMT)
commitd19d831f86944aed20929a09022455ca4efe0bbb (patch)
treeca03eee02a033f1192c6ab8062411732856de4e3
parent42760e2e4742a850470c18ff3633ed93f66d3867 (diff)
Readlink before checking mime type #1241
-rw-r--r--src/sugar/mime.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/sugar/mime.py b/src/sugar/mime.py
index 8242dd4..847db74 100644
--- a/src/sugar/mime.py
+++ b/src/sugar/mime.py
@@ -90,14 +90,25 @@ def get_all_generic_types():
return types
def get_for_file(file_name):
+ if file_name.startswith('file://'):
+ file_name = file_name[7:]
+
+ if os.path.islink(file_name):
+ readlink = os.readlink(file_name)
+ if readlink.startswith('/'):
+ file_name = readlink
+ else:
+ file_name = os.path.join(os.path.dirname(file_name), readlink)
+
mime_type = _sugarbaseext.get_mime_type_for_file(file_name)
if mime_type == 'application/octet-stream':
if _file_looks_like_text(file_name):
return 'text/plain'
else:
return 'application/octet-stream'
+
return mime_type
-
+
def get_from_file_name(file_name):
return _sugarbaseext.get_mime_type_from_file_name(file_name)