diff --git a/src/calibre/library/database2.py b/src/calibre/library/database2.py index f123dbac79..450ea77669 100644 --- a/src/calibre/library/database2.py +++ b/src/calibre/library/database2.py @@ -1254,6 +1254,10 @@ class LibraryDatabase2(LibraryDatabase, SchemaUpgrade, CustomColumns): ''' Set metadata for the book `id` from the `Metadata` object `mi` ''' + if hasattr(mi, 'to_book_metadata'): + # Handle code passing in a OPF object instead of a Metadata object + mi = mi.to_book_metadata() + def doit(func, *args, **kwargs): try: func(*args, **kwargs)