Running:

   - Python version 2.7.3
   - Django version 1.5.2
   
I have a django view that indirectly makes use of python's magic library 
(basically a ctypes wrapper with access to libmagic) which results in the 
following error

Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/magic.py", line 170, in load
    return _load(self._magic_t, filename)
ArgumentError: argument 2: <type 'exceptions.TypeError'>: expected CString 
instance instead of str

In isolation the error is repeatable using the following steps:

./manage.py shell
>>> import magic
>>> m = magic.open(magic.MAGIC_NONE)
>>> m.load("/usr/share/file/magic.mgc")
Traceback (most recent call last):
  File "<console>", line 1, in <module>
  File "/usr/lib/python2.7/dist-packages/magic.py", line 170, in load
    return _load(self._magic_t, filename)
ArgumentError: argument 2: <type 'exceptions.TypeError'>: expected CString 
instance instead of str


Issuing the same commands from a standard python shell does not result in 
the same error

Python 2.7.3 (default, Jan  2 2013, 13:56:14) 
[GCC 4.7.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import magic
>>> m=magic.open(magic.MAGIC_NONE)
>>> m.load("/usr/share/file/magic.mgc")
0

Google searches for the extact typeerror have proved useless, I even 
attempted to modify magic.py and cast the filename with a 
ctypes.create_string_buffer() call (AFAIK there is no ctypes.CString type) 
but that still failed.

The same code works fine running

   - Python v. 2.7.3
   - Django v. 1.4.3

I am at a loss so I turn to you "django-users" for help

Thanks in advance

-- 
You received this message because you are subscribed to the Google Groups 
"Django users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/django-users.
For more options, visit https://groups.google.com/groups/opt_out.

Reply via email to