View Single Post
Old 11-30-2011, 12:52 PM   #296
kiwidude
Calibre Plugins Developer
kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.kiwidude ought to be getting tired of karma fortunes by now.
 
Posts: 4,733
Karma: 2197770
Join Date: Oct 2010
Location: Australia
Device: Kindle Oasis
@Cruizer - ahhh, in that case sorry for the wrong advice, I wasn't at my PC to try it. That validation error you see was to prevent people from doing "silly" things, in this case what I suggested gets caught by the same rule unfortunately. It would be an easy one to disable, but then if I am going to be fiddling with the plugin I may as well make other changes at the same time.

The sync all shelves thing, yeah that has certainly been asked for before. It wasn't included previously because of the Goodreads limitations on how frequently you can call their service. Some people have over 100 shelves, which would pretty much be single-handedly violating the Goodreads T&C on their own let alone if any other user of this plugin was also using it!

There is also the issue of just how long that would take to run, and Calibre being unusable in the meantime. Which leads me to think that as part of the rewrite, all of the shelf syncing type operations should be changed to run in the background (just like download metadata, extract ISBN, etc etc). The plus side is that you could kick off a request to sync and just do other things in calibre while waiting for it to finish. It would also allow me to deliberately "slow down" that sync so as to not hammer Goodreads - perhaps waiting 5 seconds between requesting each shelf or something. So people with large numbers of shelves who insist on still using this feature incur the greatest slowness, but not at the expense of calibre being unusable in the meantime.

The one negative of this approach is that it means you will get that message dialog asking you if you want to apply the changes, when the background job finishes that people come to the forums to whine about every now and then. Unavoidable to ensure database updates are done back on the UI thread, and taking into account of any changes you may have made to your library while the job was running. This would be followed by the normal sync results dialog telling you about missing books etc IIRC. Arguably not ideal, but then as I don't use the sync feature I don't particularly care . Plus if I enhance the plugin to allow "actions" to be applied as part of adding to a shelf, there should be less reasons for people to need to sync anyway... maybe.
kiwidude is offline   Reply With Quote