View Single Post
Old 12-03-2013, 06:11 AM   #34
GRiker
Comparer of the Ephemeris
GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.GRiker ought to be getting tired of karma fortunes by now.
 
Posts: 1,496
Karma: 424697
Join Date: Mar 2009
Device: iPad
Quote:
Originally Posted by davidfor View Post
I started having a look at this again to add support for the Kobo devices. I found some problems.

Firstly, if you change the column used to store the the annotations, you are prompted that the existing annotations will be moved. The choices are "Yes do it", or "No don't change the column". I think there should be a "Change the column but don't move the current annotations".

Spoiler:
Then, when I clicked "Yes", I had the following error:

Code:
calibre, version 1.13.0
ERROR: Unhandled exception: <b>AttributeError</b>:'Struct' object has no attribute 'log_location'

calibre 1.13  isfrozen: True is64bit: False
Windows-7-6.1.7601-SP1 Windows ('32bit', 'WindowsPE')
('Windows', '7', '6.1.7601')
Python 2.7.5
Windows: ('7', '6.1.7601', 'SP1', 'Multiprocessor Free')
Traceback (most recent call last):
  File "calibre_plugins.annotations.config", line 292, in annotations_destination_changed
  File "calibre_plugins.annotations.common_utils", line 889, in move_annotations
AttributeError: 'Struct' object has no attribute 'log_location'
The last thing is that I use several libraries. In my test library, I added a column called "Annotations" and selected it. Later, while using another library which doesn't have that column, I opened the Annotations configuration. And had the following error:

Code:
calibre, version 1.13.0
ERROR: Unhandled exception: <b>TypeError</b>:'NoneType' object has no attribute '__getitem__'

calibre 1.13  isfrozen: True is64bit: False
Windows-7-6.1.7601-SP1 Windows ('32bit', 'WindowsPE')
('Windows', '7', '6.1.7601')
Python 2.7.5
Windows: ('7', '6.1.7601', 'SP1', 'Multiprocessor Free')
Traceback (most recent call last):
  File "calibre_plugins.annotations.config", line 273, in annotations_destination_changed
  File "calibre_plugins.annotations.common_utils", line 737, in existing_annotations
TypeError: 'NoneType' object has no attribute '__getitem__'
After that, the configuration dialog is shown with no fields and calibre crashes. Windows shows the "calibre.exe has stopped working" error with the usual check online or close options.


The problem here is that custom columns are library specific. This option should be in the library specific preferences rather than the calibre preferences.
I'll take a look at what will be involved in switching among multiple libraries with different custom column assignments. That's definitely something that's needed. I'll fix the other crashes you reported at the same time.

G
GRiker is offline