Be smarter when choosing one mime type from the targets offered.
This commit is contained in:
@@ -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]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user