Oops, the latest update triggers some more encoding breakage in calibre-debug on my crappy ISO-8859-15 system...
Code:
2011/11/04 20:59:09 Job _create_collections_completed
'charmap' codec can't encode character u'\u2019' in position 56: character maps to <undefined>
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/device.py", line 81, in run
self.result = self.func(*self.args, **self.kwargs)
File "calibre_plugins.kindle_collections.create_preview", line 43, in create
File "calibre_plugins.kindle_collections.calibre_info", line 196, in load_column_book_info
File "calibre_plugins.kindle_collections.utilities", line 31, in debug_print
File "/usr/lib/python2.7/encodings/iso8859_15.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2019' in position 56: character maps to <undefined>
Job: 4 Create Kindle Collections finished
'charmap' codec can't encode character u'\u2019' in position 56: character maps to <undefined>
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/device.py", line 81, in run
self.result = self.func(*self.args, **self.kwargs)
File "calibre_plugins.kindle_collections.create_preview", line 43, in create
File "calibre_plugins.kindle_collections.calibre_info", line 196, in load_column_book_info
File "calibre_plugins.kindle_collections.utilities", line 31, in debug_print
File "/usr/lib/python2.7/encodings/iso8859_15.py", line 12, in encode
return codecs.charmap_encode(input,errors,encoding_table)
UnicodeEncodeError: 'charmap' codec can't encode character u'\u2019' in position 56: character maps to <undefined>
(AFAIR, this kind of thing might have already been happening with the previous version, in debug mode. It still doesn't trigger anything in the GUI when not running in debug though).
Killing the only UTF-8 smartquote I could find (in a book title) 'fixed' these two warnings.
Also, and that's new and a bigger inconvenience, this happens after trying to create collections from calibre, after the 'Create Kindle Collections' job finishes:
Code:
DeviceJob: 5 Get list of books on device done, calling callback
DeviceJob: 5 Get list of books on device callback returned
Traceback (most recent call last):
File "/usr/lib/calibre/calibre/gui2/__init__.py", line 315, in dispatch
self.func(*args, **kwargs)
File "/usr/lib/calibre/calibre/gui2/device.py", line 834, in metadata_downloaded
self.set_books_in_library(job.result, reset=True, add_as_step_to_job=job)
File "/usr/lib/calibre/calibre/gui2/device.py", line 1540, in set_books_in_library
plugboards, add_as_step_to_job)
File "/usr/lib/calibre/calibre/gui2/device.py", line 362, in sync_booklists
description=_('Send metadata to device'), to_job=add_as_step_to_job)
File "/usr/lib/calibre/calibre/gui2/device.py", line 296, in create_job_step
(to_job is not None and to_job == self.current_job):
File "/usr/lib/calibre/calibre/utils/ipc/job.py", line 128, in __cmp__
if self.is_finished == other.is_finished:
AttributeError: 'NoneType' object has no attribute 'is_finished'
Job: 5 Get list of books on device finished
And leaves a zombie 'send metadata to device' job that can't be stopped, since it's a device job.
Linux/Python 2.7.2/calibre 0.8.24
EDIT: In _queue_job_create_collections @ ui.py, uncommenting gui.info_read and commenting gui.metadata_downloaded helps, if that's any use to you

.