There are ups and downs to each approach in implementation.
Option 1 can leverage existing code for reporting possible issues and optionally marking updated/failed books, and can fall back to 'Update CalMeta from Web site' if there's no saved column data.
Option 2 is similar with the bonus that you could use calibre_std/cust_colname in title_page and they would be populated on new download. You would also have to mark (using 'New Only'/n flags) columns you want to manage manually, but that's already the case.
I mention option two because I suspect that about 10 minutes after releasing the feature, someone will ask for it to run automatically on new downloads when they realize their manually-managed custom columns aren't in the title page until after an epub update or title page update. OTOH, users that truly manage those columns themselves and don't pre-populate them from FFF metadata with 'New Only' won't care.
Option 3 keeps the new feature isolated from the update code path, which should preclude introducing new bugs into update--a not insignificant consideration--but requires either a reporting mechanism added (compared to UnNew), failure notices (when needed) by individual book, or silent failures.
|