def contenttype(filename, default='text/plain'):
    """
    Returns the Content-Type string matching extension of the given 
filename.
    """
    i = filename.rfind('.')
    if i>=0:
        default = CONTENT_TYPE.get(filename[i:].lower(),default)
        j = filename.rfind('.', 0, i)
        if j>=0:
            default = CONTENT_TYPE.get(filename[j:].lower(),default)
    if default.startswith('text/'):
        default += '; charset=utf-8'
    return default

I do not understand why the line:

default = CONTENT_TYPE.get(filename[j:].lower(), default)

is not instead:

default = CONTENT_TYPE.get(filename[j:i].lower(), default)

Is the purpose of this second rfind not to check for a possible double 
extension... filename.ext.ext ?

I apologize in advance if I am completely missing something here in such a 
simple function.

-- 



Reply via email to