View Single Post
Old 06-26-2023, 05:05 AM   #6
ownedbycats
Custom User Title
ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.ownedbycats ought to be getting tired of karma fortunes by now.
 
ownedbycats's Avatar
 
Posts: 11,370
Karma: 79528341
Join Date: Oct 2018
Location: Canada
Device: Kobo Libra H2O, formerly Aura HD
Quote:
Originally Posted by Dsharma View Post
As far as I know, Calibre does not have an in-built feature to ignore specific identifiers when downloading metadata.
A possible workaround might be to use a plugin or write a custom script that post-processes the metadata and removes unwanted identifiers. Although this still means an extra step, it could be automated to run after each download, thereby reducing the hassle.
Remember that any modifications to the software or use of third-party plugins should be done with caution, and make sure to back up your library before making major changes.
I use Action Chains single-field edit with this template. It removes amazon/barnesnoble/kobo/baen identifiers, but keeps the one associated with #purchasesource if available.

Code:
program:

	def do_one(ids, check_value, select_identifier):
		si = select(ids, select_identifier);
		if 
			!$#purchasesource==check_value && si
		then
			return list_difference (ids, strcat(select_identifier, ':', si), ',')
		fi;
		return ids
	fed;

	ids = do_one($identifiers, "Amazon",'amazon');
	ids = do_one(ids, "Barnes & Noble", 'barnesnoble');
	ids = do_one(ids, "Kobo", 'kobo');
	ids = do_one(ids, "Baen", 'baen')

This post was made before I set it up, It's more ideal than outright excluding for my usecase.

Last edited by ownedbycats; 06-26-2023 at 05:11 AM.
ownedbycats is offline   Reply With Quote