diff options
author | Aleksey 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) |
commit | d19d831f86944aed20929a09022455ca4efe0bbb (patch) | |
tree | ca03eee02a033f1192c6ab8062411732856de4e3 | |
parent | 42760e2e4742a850470c18ff3633ed93f66d3867 (diff) |
Readlink before checking mime type #1241
-rw-r--r-- | src/sugar/mime.py | 13 |
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) |