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. --