Shared MIME-info Database¶
XDG Shared MIME-info Database specification
Finding a file’s Mime type¶
Example:
>>> Mime.get_type2('/path/to/foo.zip')
MIMEtype('application', 'zip')
-
xdg.Mime.
get_type2
(path, follow=True)[source]¶ Find the MIMEtype of a file using the XDG recommended checking order.
This first checks the filename, then uses file contents if the name doesn’t give an unambiguous MIMEtype. It can also handle special filesystem objects like directories and sockets.
Parameters: - path – file path to examine (need not exist)
- follow – whether to follow symlinks
Return type: New in version 1.0.
-
xdg.Mime.
get_type_by_contents
(path, max_pri=100, min_pri=0)[source]¶ Returns type of file by its contents, or None if not known
-
xdg.Mime.
get_type_by_data
(data, max_pri=100, min_pri=0)[source]¶ Returns type of the data, which should be bytes.
-
xdg.Mime.
get_type
(path, follow=True, name_pri=100)[source]¶ Returns type of file indicated by path.
This function is deprecated -
get_type2()
is more accurate.Parameters: - path – pathname to check (need not exist)
- follow – when reading file, follow symbolic links
- name_pri – Priority to do name matches. 100=override magic
This tries to use the contents of the file, and falls back to the name. It can also handle special filesystem objects like directories and sockets.
Installing Mime data¶
-
xdg.Mime.
install_mime_info
(application, package_file)[source]¶ Copy ‘package_file’ as
~/.local/share/mime/packages/<application>.xml.
If package_file is None, install<app_dir>/<application>.xml
. If already installed, does nothing. May overwrite an existing file with the same name (if the contents are different)
MIMEtype objects¶
-
class
xdg.Mime.
MIMEtype
[source]¶ Class holding data about a MIME type.
Calling the class will return a cached instance, so there is only one instance for each MIME type. The name can either be passed as one part (‘text/plain’), or as two (‘text’, ‘plain’).
Changed in version 1.0: The class now takes care of caching; call
lookup()
in earlier versions.-
media
¶ e.g. ‘text’
-
subtype
¶ e.g. ‘plain’
New in version 0.25:
MIMEtype.canonical()
andMIMEtype.inherits_from()
.-
Miscellaneous¶
-
xdg.Mime.
get_extensions
(mimetype)[source]¶ Retrieve the set of filename extensions matching a given MIMEtype.
Extensions are returned without a leading dot, e.g. ‘py’. If no extensions are registered for the MIMEtype, returns an empty set.
The extensions are stored in a cache the first time this is called.
New in version 1.0.