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 django-users+unsubscr...@googlegroups.com. To post to this group, send email to django-users@googlegroups.com. Visit this group at http://groups.google.com/group/django-users. For more options, visit https://groups.google.com/groups/opt_out.