Package: python-magic
Version: 5.04-5+squeeze2
Severity: wishlist
Tags: upstream

I found the hard way that the API exported by the Python module ‘magic’ differs 
among different versions of the module.

Impact:
A Python script, developed in a Debian Linux installation using the
provided python-magic package, won't work as is when transferred to a
different POSIX system, which uses the python-magic package installed
using the 'pip install python-magic' method.
The Debian package and its documentation should be modified to provide
also an API compatible with the other package.

The version installed when installing the Debian package ‘python-magic’ expects 
the following API:

import magic
mymagic = magic.open(magic.MAGIC_MIME_TYPE)
mymagic.load()
mtype = mymagic.file(inpfname)
print(”The MIME type of the file %s is %s” % (inpfname,mtype))

The version installed using ‘pip install python-magic’ expects the following 
API:

import magic
mymagic = magic.Magic(mime=True)
mtype = mymagic.from_file(inpfname)
print(”The MIME type of the file %s is %s” % (inpfname,mtype))

The following code allows the rest of the script to work the same way with 
either version of ‘magic’:

import magic
def build_magic():
  try:
    mymagic = magic.open(magic.MAGIC_MIME_TYPE)
    mymagic.load()
  except AttributeError,e:
    mymagic = magic.Magic(mime=True)
    mymagic.file = mymagic.from_file
  return(mymagic)
mymagic = build_magic()
mtype = mymagic.file(inpfname)
print(”The MIME type of the file %s is %s” % (inpfname,mtype))

-- System Information:
Debian Release: 6.0.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable')
Architecture: amd64 (x86_64)

Kernel: Linux 2.6.32-5-vserver-amd64 (SMP w/8 CPU cores)
Locale: LANG=en_US.utf8, LC_CTYPE=en_US.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash

Versions of packages python-magic depends on:
ii  libc6                   2.11.3-4         Embedded GNU C Library: Shared lib
ii  libmagic1               5.04-5+squeeze2  File type determination library us
ii  python                  2.6.6-3+squeeze7 interactive high-level object-orie
ii  python-support          1.0.10           automated rebuilding support for P

python-magic recommends no packages.

Versions of packages python-magic suggests:
pn  python-magic-dbg              <none>     (no description available)

-- no debconf information


-- 
To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org

Reply via email to