python3 magic

I just ported python-magic to python3.

Of course, python got its very own mimetypes, but there are reasons to rely on libmagic.

If you want to use magic with python3:

aptitude install libmagic-dev
apt-get source file
wget http://p.carnivore.it/2v6Uwg?download -O /dev/stdout | patch -p1
cd file-5.03/python/
/opt/dionaea/bin/python3 setup.py install

Afterwards, useage is compatible to python2:

import magic
import io
 
ms = magic.open(magic.MAGIC_NONE)
ms.load()
ms.file("/opt/dionaea/bin/dionaea")
# 'ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.15, not stripped'
 
f = io.open("/opt/dionaea/bin/dionaea", "rb")
b = f.read(1024)
ms.buffer(b)
# 'ELF 64-bit LSB executable, x86-64, version 1 (SYSV)'
 
ms.setflags(magic.MAGIC_MIME)
# 0
ms.buffer(b)
# 'application/x-executable; charset=binary'
ms.file("/opt/dionaea/bin/dionaea")
# 'application/x-executable; charset=binary'

Comments



2009/12/18/python3_magic.txt · Last modified: 2010/06/15 11:47 by common
chimeric.de = chi`s home Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0