def test_keep_going(self): filename = os.path.join(self.TESTDATA_DIR, 'keep-going.jpg') m = magic.Magic(mime=True) self.assertEqual(m.from_file(filename), 'image/jpeg') try: # this will throw if you have an "old" version of the library # I'm otherwise not sure how to query if keep_going is supported magic.version() m = magic.Magic(mime=True, keep_going=True) self.assertEqual(m.from_file(filename), 'image/jpeg\\012- application/octet-stream') except NotImplementedError: pass
def test_version(self): try: self.assertTrue(magic.version() > 0) except NotImplementedError: pass
def status(): return json.dumps({'version': magic.version()})
# libmagic is loaded during python-magic import. # We need to monkeypatch find_library to enforce # loading 'magic' from specified path ctypes_find_library = ctypes.util.find_library def find_library_patch(name): if name == "magic": return str(libmagic_file) return ctypes_find_library(name) ctypes.util.find_library = find_library_patch import magic as pymagic magic_version = pymagic.version() if magic_version != expected_version: raise RuntimeError( f"Preloaded libmagic version is {magic_version}, but {expected_version} was expected" ) get_magic = pymagic.Magic(mime=False, magic_file=str(database_file)) get_mime = pymagic.Magic(mime=True, magic_file=str(database_file)) else: import magic as pymagic get_magic = pymagic.Magic(mime=False) get_mime = pymagic.Magic(mime=True) def magic_from_content(content, mime):
def test_version(self): self.assertTrue(magic.version() > 0)