libb.sniff_format

sniff_format(buffer)[source]

Sniff a file’s (mimetype, extension) from its bytes.

Convenience over magic_mime_from_buffer + guess_extension: detect the mimetype from content (OOXML/ODF refined to their precise type) and map it to a dotted extension (None when no extension is known for that type).

Parameters:

buffer (bytes) – File bytes (whole file recommended).

Returns:

(mimetype, extension_or_None).

Return type:

tuple

Example:

>>> mime, ext = sniff_format(open('model.xlsx', 'rb').read())
>>> ext
'.xlsx'