Module refinery.lib.magic
A cross-platform interface for file type identification using pure-magic-rs.
Expand source code Browse git
"""
A cross-platform interface for file type identification using pure-magic-rs.
"""
from __future__ import annotations
from pure_magic_rs import MagicDb
_db = MagicDb()
def magicparse(data, mime=False) -> str:
if not isinstance(data, bytes):
data = bytes(data)
try:
result = _db.best_magic_buffer(data)
return result.mime_type if mime else result.message
except (ValueError, TypeError):
pass
if mime:
return 'application/octet-stream'
return 'data'
Functions
def magicparse(data, mime=False)-
Expand source code Browse git
def magicparse(data, mime=False) -> str: if not isinstance(data, bytes): data = bytes(data) try: result = _db.best_magic_buffer(data) return result.mime_type if mime else result.message except (ValueError, TypeError): pass if mime: return 'application/octet-stream' return 'data'