Rebase onto upstream (a4d95fd)
#12
@@ -4,6 +4,7 @@ from __future__ import annotations
|
||||
|
||||
import mimetypes
|
||||
from enum import Enum
|
||||
from pathlib import Path
|
||||
|
||||
from loguru import logger
|
||||
|
||||
@@ -76,3 +77,17 @@ def classify_media(mime: str) -> MediaKind:
|
||||
return MediaKind.AUDIO
|
||||
# Everything else is a document
|
||||
return MediaKind.DOCUMENT
|
||||
|
||||
|
||||
def is_heic_format(path: str) -> bool:
|
||||
"""
|
||||
Check if file is HEIC/HEIF format.
|
||||
|
||||
Args:
|
||||
path: File path
|
||||
|
||||
Returns:
|
||||
True if file extension is .heic or .heif
|
||||
"""
|
||||
ext = Path(path).suffix.lower()
|
||||
return ext in (".heic", ".heif")
|
||||
|
||||
@@ -99,3 +99,13 @@ def test_classify_media_document():
|
||||
assert classify_media("application/pdf") == MediaKind.DOCUMENT
|
||||
assert classify_media("text/plain") == MediaKind.DOCUMENT
|
||||
assert classify_media("application/octet-stream") == MediaKind.DOCUMENT
|
||||
|
||||
|
||||
def test_is_heic_format():
|
||||
"""Test HEIC format detection."""
|
||||
from nanobot.channels.telegram_media import is_heic_format
|
||||
|
||||
assert is_heic_format("photo.heic") is True
|
||||
assert is_heic_format("photo.HEIC") is True
|
||||
assert is_heic_format("photo.heif") is True
|
||||
assert is_heic_format("photo.jpg") is False
|
||||
|
||||
Reference in New Issue
Block a user