src/eric7/Utilities/MimeTypes.py

Fri, 25 Nov 2022 14:15:48 +0100

author
Detlev Offenbach <detlev@die-offenbachs.de>
date
Fri, 25 Nov 2022 14:15:48 +0100
branch
eric7
changeset 9534
5ed8445f3b31
parent 9413
80c06d472826
child 9559
34fc53e6159d
permissions
-rw-r--r--

Improved the file type determination (i.e. is it text) and added a configurable option to even load files, whose type cannot be determine as being text.

# -*- coding: utf-8 -*-

# Copyright (c) 2014 - 2022 Detlev Offenbach <detlev@die-offenbachs.de>
#

"""
Module implementing mimetype dependent functions.
"""

import mimetypes

from eric7 import Preferences


def isTextFile(filename):
    """
    Function to test, if the given file is a text (i.e. editable) file.

    @param filename name of the file to be checked
    @type str
    @return flag indicating an editable file
    @rtype bool
    """
    mimetype = mimetypes.guess_type(filename)[0]
    return (mimetype is None and Preferences.getUI("LoadUnknownMimeTypeFiles")) or (
        mimetype is not None
        and (
            mimetype.split("/")[0] == "text"
            or mimetype in Preferences.getUI("TextMimeTypes")
        )
    )


def mimeType(filename):
    """
    Function to get the mime type of a file.

    @param filename name of the file to be checked
    @type str
    @return mime type of the file
    @rtype str
    """
    return mimetypes.guess_type(filename)[0]

eric ide

mercurial