diff options
Diffstat (limited to '.venv/lib/python3.12/site-packages/filetype/helpers.py')
-rw-r--r-- | .venv/lib/python3.12/site-packages/filetype/helpers.py | 140 |
1 files changed, 140 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/filetype/helpers.py b/.venv/lib/python3.12/site-packages/filetype/helpers.py new file mode 100644 index 00000000..afe4e684 --- /dev/null +++ b/.venv/lib/python3.12/site-packages/filetype/helpers.py @@ -0,0 +1,140 @@ +# -*- coding: utf-8 -*- + +from __future__ import absolute_import +from .types import TYPES +from .match import ( + image_match, font_match, document_match, + video_match, audio_match, archive_match +) + + +def is_extension_supported(ext): + """ + Checks if the given extension string is + one of the supported by the file matchers. + + Args: + ext (str): file extension string. E.g: jpg, png, mp4, mp3 + + Returns: + True if the file extension is supported. + Otherwise False. + """ + for kind in TYPES: + if kind.extension == ext: + return True + return False + + +def is_mime_supported(mime): + """ + Checks if the given MIME type string is + one of the supported by the file matchers. + + Args: + mime (str): MIME string. E.g: image/jpeg, video/mpeg + + Returns: + True if the MIME type is supported. + Otherwise False. + """ + for kind in TYPES: + if kind.mime == mime: + return True + return False + + +def is_image(obj): + """ + Checks if a given input is a supported type image. + + Args: + obj: path to file, bytes or bytearray. + + Returns: + True if obj is a valid image. Otherwise False. + + Raises: + TypeError: if obj is not a supported type. + """ + return image_match(obj) is not None + + +def is_archive(obj): + """ + Checks if a given input is a supported type archive. + + Args: + obj: path to file, bytes or bytearray. + + Returns: + True if obj is a valid archive. Otherwise False. + + Raises: + TypeError: if obj is not a supported type. + """ + return archive_match(obj) is not None + + +def is_audio(obj): + """ + Checks if a given input is a supported type audio. + + Args: + obj: path to file, bytes or bytearray. + + Returns: + True if obj is a valid audio. Otherwise False. + + Raises: + TypeError: if obj is not a supported type. + """ + return audio_match(obj) is not None + + +def is_video(obj): + """ + Checks if a given input is a supported type video. + + Args: + obj: path to file, bytes or bytearray. + + Returns: + True if obj is a valid video. Otherwise False. + + Raises: + TypeError: if obj is not a supported type. + """ + return video_match(obj) is not None + + +def is_font(obj): + """ + Checks if a given input is a supported type font. + + Args: + obj: path to file, bytes or bytearray. + + Returns: + True if obj is a valid font. Otherwise False. + + Raises: + TypeError: if obj is not a supported type. + """ + return font_match(obj) is not None + + +def is_document(obj): + """ + Checks if a given input is a supported type document. + + Args: + obj: path to file, bytes or bytearray. + + Returns: + True if obj is a valid document. Otherwise False. + + Raises: + TypeError: if obj is not a supported type. + """ + return document_match(obj) is not None |