Rebase onto upstream (a4d95fd) #12

Closed
wylab wants to merge 144 commits from rebase-onto-upstream into main
2 changed files with 25 additions and 0 deletions
Showing only changes of commit 9bee169554 - Show all commits
+15
View File
@@ -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")
+10
View File
@@ -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