Feature Request - Metadata download without "Download complete" dialog

Bug #1382795 reported by tleon on 2014-10-18
This bug affects 1 person
Affects Status Importance Assigned to Milestone

Bug Description

I'm using the metadata download feature quite a lot and I really like it.
While the job is running in the background I usually edit some other stuff manually.
What happens now is that while I'm editing the "Download complete" dialog pops up and cancels what I have been typing. That in itself annoys me sometimes. But what is even more annoying is that if I downloaded metadata for say 10 books, which takes a while, and while editing I type enter the moment the completion dialog pops up all the metadata is lost because the default button of the dialog is "cancel".

So I'd like to ask if you could - and would be willing to - implement one or more of the following options:
 - make the default button of the "Download complete" dialog configurable
 - make it configurable the default behaviour would be "accept" or "review", so no pop up at all
 - only show the fact that the download has finished in the status bar were the running jobs are displayed and enabling the user to decide when to look for the retrieved metadata

I'd like to thank you for a really great tool and I appreciate your work very much. With or without the requested feature.


For now I downloaded the source code and changed line 167 in edit_metadata.py to include the focus_Action=True parameter:

self.gui.proceed_question(normal_apply, payload,
                log_file, _('Download log'), _('Download complete'), msg,
                det_msg=det_msg, show_copy_button=show_copy_button,
                cancel_callback=partial(self.cleanup_bulk_download, tdir),
                log_is_file=True, checkbox_msg=checkbox_msg,
                checkbox_checked=False, action_callback=review_apply,
                action_label=_('Review downloaded metadata'),

tleon (rulon-lisu) wrote :

As explained in http://www.mobileread.com/forums/newreply.php?do=newreply&noquote=1&p=2951207 the requested options 2 and 3 are not feasible. But maybe option 1 is.

The Yes button is the default button. Therefore if you accidentally hit
Enter or spacebar just when the dialog pops up, the metadata will be applied and you
wont lose anything. The only case where you can lose something is if
you hit Escape, which is rather unlikely.

 status wontfix

Changed in calibre:
status: New → Won't Fix
tleon (rulon-lisu) wrote :

This is not completely true. In many cases the downloaded metadata is not better than the one that is already there. In most cases I have to merge the downloaded metadata and the one I downloaded.
So I really lose something by hitting 'Yes' unintentionally.

I'd like to suggest a Tweak. A sample implementation is attached. As this is the first time I implemented something in python it might not be the optimal solution.

tleon (rulon-lisu) wrote :

Ups, make that: In most cases I have to merge the downloaded metadata and the one that is already there.

Kovid Goyal (kovid) wrote :

I dont think a new config option is justified for this use case, much better to simply have the dialog ignore keypresses for 200 milliseconds after it is shown. That should be enough to reduce the incidence of unintended Enter to almost zero.

Or even have it totally ignore Enter/spacebar all the time.

Of course, the proper (labor intensive) solution is to make a full fledged notification widget that will render notifications as translucent rectangles in the right column of the calibre main window, where they will be very noticeable, but wont get in the way of another task like editing metadata. That is a fair amount of work however.

Fixed in branch master. The fix will be in the next release. calibre is usually released every Friday.

 status fixreleased

Changed in calibre:
status: Won't Fix → Fix Released
tleon (rulon-lisu) wrote :

Thanks a lot for your understanding and support.

Kovid Goyal (kovid) wrote :

I decided to take the time and implement the full solution above, with a special popup notification widget that does not interrupt your current task.

tleon (rulon-lisu) wrote :

Your awsome, thanks for this incredible implementation.

To post a comment you must log in.
This report contains Public information  Edit
Everyone can see this information.

Other bug subscribers