diff --git a/src/calibre/library/cli.py b/src/calibre/library/cli.py index 7f181edc38..19bd56bf55 100644 --- a/src/calibre/library/cli.py +++ b/src/calibre/library/cli.py @@ -932,7 +932,6 @@ def command_restore_database(args, dbpath): 'wb').write(r.report.encode('utf-8')) prints('Some errors occurred. A detailed report was ' 'saved to', name) - send_message() def option_parser(): parser = OptionParser(_( diff --git a/src/calibre/library/restore.py b/src/calibre/library/restore.py index 83e6565937..48e66e508f 100644 --- a/src/calibre/library/restore.py +++ b/src/calibre/library/restore.py @@ -46,6 +46,7 @@ class Restore(Thread): self.books = [] self.conflicting_custom_cols = {} self.failed_restores = [] + self.successes = 0 self.tb = None @property @@ -81,6 +82,8 @@ class Restore(Thread): self.scan_library() self.create_cc_metadata() self.restore_books() + if self.successes == 0 and len(self.dirs) > 0: + raise Exception(('Something bad happened')) self.replace_db() except: self.tb = traceback.format_exc() @@ -183,6 +186,7 @@ class Restore(Thread): INSERT INTO data (book,format,uncompressed_size,name) VALUES (?,?,?,?)''', (book['id'], fmt, size, name)) db.conn.commit() + self.successes += 1 def replace_db(self): dbpath = os.path.join(self.src_library_path, 'metadata.db')