Can't Encode Pic

MRAB python at mrabarnett.plus.com
Thu Nov 26 11:52:20 EST 2009


Victor Subervi wrote:
> On Thu, Nov 26, 2009 at 10:03 AM, Carsten Haese <carsten.haese at gmail.com 
> <mailto:carsten.haese at gmail.com>> wrote:
> 
>     cursor.execute('update products set pic1=%s where ID=1',
>     (MySQLdb.Binary(pic1),))
> 
>     [That comma between the two closing parentheses is not a typo. Do not
>     leave it out!]
> 
> 
> A problem occurred in a Python script. Here is the sequence of function 
> calls leading up to the error, in the order they occurred.
>  /var/www/html/angrynates.com/cart/addEdit.py 
> <http://angrynates.com/cart/addEdit.py>
>    85   print '<body>\n</html>'
>    86   db.commit()
>    87   cursor.close()
>    88
>    89 addEdit()
> addEdit = <function addEdit>
>  /var/www/html/angrynates.com/cart/addEdit.py 
> <http://angrynates.com/cart/addEdit.py> in addEdit()
>    66       id = 0
>    67       cursor.execute(sql)
>    68       cursor.execute('update products set pic1=%s where ID=1' 
> (MySQLdb.Binary(pics[0]),))
>    69       for col in colNamesPics:
> cursor = <MySQLdb.cursors.Cursor object>, cursor.execute = <bound method 
> Cursor.execute of <MySQLdb.cursors.Cursor object>>, global MySQLdb = 
> <module 'MySQLdb' from 
> '/usr/lib64/python2.4/site-packages/MySQLdb/__init__.pyc'>, 
> MySQLdb.Binary = <function Binary>, pics = 
> ['\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x02\x01\x00H\x00H\x00\x00\xff\xe1\x13\xd5Exif\x00\x00MM\x00*\x00\x00\x00\x08\x00\x07\x01\x12\x00\x03\x00\x00\x00\x01...\xdb\x9f\x94\xa9\xfds\xc9y\xb1W\xda\xd66\x9azS\x84\xd1\x1f\x93\xa9\xfdG\x0fm\xe3\x84\x01\xc5\x94\xfc\x88\xcf\x06f\xc5_\x7fPS6x\x076*\xff\x00\xff\xd9', 
> '', '']
> 
> TypeError: 'str' object is not callable
>       args = ("'str' object is not callable",)
> 
> Please advise.

On line 68 you have a string literal immediately followed by a tuple, so
it looks like you're trying to call a string, hence the exception. Put a
comma between the string literal and the tuple.



More information about the Python-list mailing list