Quote:
Originally Posted by PixieDinoGirl
Here is the error message -
calibre, version 4.22.0
ERROR: Error: Error communicating with device
SQLError: near "Teen": syntax error
Traceback (most recent call last):
File "site-packages\calibre\gui2\device.py", line 90, in run
File "site-packages\calibre\gui2\device.py", line 543, in _sync_booklists
File "site-packages\calibre\devices\kobo\driver.py", line 970, in sync_booklists
File "site-packages\calibre\devices\kobo\driver.py", line 2558, in update_device_database_collections
File "site-packages\calibre\devices\kobo\driver.py", line 2924, in delete_empty_bookshelves
File "c:\t\t\apsw-47cp24d7\src\cursor.c", line 1019, in APSWCursor_execute.sqlite3_prepare
File "c:\t\t\apsw-47cp24d7\src\statementcache.c", line 386, in sqlite3_prepare
SQLError: SQLError: near "Teen": syntax error
|
That was not what I was expecting. And very embarrassing that I let Little Bobby Tables visit. I'm not sanitising the input. Which deserves a lot of

and

. I'll fix it for the next calibre release.
But, can you tell me what you had in the driver configuration. The place the error is happening is because of the value in "Ignore collections" field. That is part of the "Collections" section on the second tab of the KoboTouch driver or KoboTouchExtended driver configuration. I think it is something with at least one single quote and the word "Teen".
And most calibre error messages show brief description but pressing the "Details" button it shows more details. Sometimes it is a text description, which is what I was expecting. You will see that for "expected" errors. Other times it is a stack dump like this that can tell a developer where the error occurred. I just had to read the code to see what stupid thing I had done.