aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/filetype/match.py
diff options
context:
space:
mode:
authorS. Solomon Darnell2025-03-28 21:52:21 -0500
committerS. Solomon Darnell2025-03-28 21:52:21 -0500
commit4a52a71956a8d46fcb7294ac71734504bb09bcc2 (patch)
treeee3dc5af3b6313e921cd920906356f5d4febc4ed /.venv/lib/python3.12/site-packages/filetype/match.py
parentcc961e04ba734dd72309fb548a2f97d67d578813 (diff)
downloadgn-ai-master.tar.gz
two version of R2R are hereHEADmaster
Diffstat (limited to '.venv/lib/python3.12/site-packages/filetype/match.py')
-rw-r--r--.venv/lib/python3.12/site-packages/filetype/match.py155
1 files changed, 155 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/filetype/match.py b/.venv/lib/python3.12/site-packages/filetype/match.py
new file mode 100644
index 00000000..8b6f11b7
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/filetype/match.py
@@ -0,0 +1,155 @@
+# -*- coding: utf-8 -*-
+
+from __future__ import absolute_import
+
+from .types import ARCHIVE as archive_matchers
+from .types import AUDIO as audio_matchers
+from .types import APPLICATION as application_matchers
+from .types import DOCUMENT as document_matchers
+from .types import FONT as font_matchers
+from .types import IMAGE as image_matchers
+from .types import VIDEO as video_matchers
+from .types import TYPES
+from .utils import get_bytes
+
+
+def match(obj, matchers=TYPES):
+ """
+ Matches the given input against the available
+ file type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if type matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ buf = get_bytes(obj)
+
+ for matcher in matchers:
+ if matcher.match(buf):
+ return matcher
+
+ return None
+
+
+def image_match(obj):
+ """
+ Matches the given input against the available
+ image type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, image_matchers)
+
+
+def font_match(obj):
+ """
+ Matches the given input against the available
+ font type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, font_matchers)
+
+
+def video_match(obj):
+ """
+ Matches the given input against the available
+ video type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, video_matchers)
+
+
+def audio_match(obj):
+ """
+ Matches the given input against the available
+ autio type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, audio_matchers)
+
+
+def archive_match(obj):
+ """
+ Matches the given input against the available
+ archive type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, archive_matchers)
+
+
+def application_match(obj):
+ """
+ Matches the given input against the available
+ application type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, application_matchers)
+
+
+def document_match(obj):
+ """
+ Matches the given input against the available
+ document type matchers.
+
+ Args:
+ obj: path to file, bytes or bytearray.
+
+ Returns:
+ Type instance if matches. Otherwise None.
+
+ Raises:
+ TypeError: if obj is not a supported type.
+ """
+ return match(obj, document_matchers)