Be smarter when choosing one mime type from the targets offered.

This commit is contained in:
Tomeu Vizoso
2007-07-03 22:42:17 +02:00
parent ddecddcb42
commit cc2b8884c0
3 changed files with 38 additions and 24 deletions
+25
View File
@@ -22,6 +22,8 @@ import random
import binascii
import string
import os
import logging
from ConfigParser import ConfigParser
from ConfigParser import NoOptionError
@@ -125,3 +127,26 @@ def set_proc_title(title):
return True
except:
return False
def choose_most_significant_mime_type(mime_types):
logging.debug('Choosing between %r.' % mime_types)
if not mime_types:
return ''
if 'text/uri-list' in mime_types:
return 'text/uri-list'
for mime_category in ['image/', 'text/', 'application/']:
for mime_type in mime_types:
if mime_type.startswith(mime_category) and \
not mime_type.split('/')[1].startswith('_'):
mime_type = mime_type.split(';')[0]
logging.debug('Choosed %r!' % mime_type)
return mime_type
if 'STRING' in mime_types:
return 'text/plain'
logging.debug('Returning first: %r.' % mime_types[0])
return mime_types[0]