예제 #1
0
    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
예제 #2
0
 def test_version(self):
     try:
         self.assertTrue(magic.version() > 0)
     except NotImplementedError:
         pass
예제 #3
0
파일: app.py 프로젝트: malan-project/malan
def status():
    return json.dumps({'version': magic.version()})
예제 #4
0
    # 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):
예제 #5
0
 def test_version(self):
     self.assertTrue(magic.version() > 0)