mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Fix metadata backup not being written if book directory does not exist
This commit is contained in:
parent
e105493d78
commit
98924814ad
@ -1390,8 +1390,13 @@ class DB(object):
|
|||||||
|
|
||||||
def write_backup(self, path, raw):
|
def write_backup(self, path, raw):
|
||||||
path = os.path.abspath(os.path.join(self.library_path, path, 'metadata.opf'))
|
path = os.path.abspath(os.path.join(self.library_path, path, 'metadata.opf'))
|
||||||
with lopen(path, 'wb') as f:
|
try:
|
||||||
f.write(raw)
|
with lopen(path, 'wb') as f:
|
||||||
|
f.write(raw)
|
||||||
|
except EnvironmentError:
|
||||||
|
os.makedirs(os.path.dirname(path))
|
||||||
|
with lopen(path, 'wb') as f:
|
||||||
|
f.write(raw)
|
||||||
|
|
||||||
def read_backup(self, path):
|
def read_backup(self, path):
|
||||||
path = os.path.abspath(os.path.join(self.library_path, path, 'metadata.opf'))
|
path = os.path.abspath(os.path.join(self.library_path, path, 'metadata.opf'))
|
||||||
|
@ -100,11 +100,13 @@ class MetadataBackup(Thread):
|
|||||||
self.db.write_backup(book_id, raw)
|
self.db.write_backup(book_id, raw)
|
||||||
except:
|
except:
|
||||||
prints('Failed to write backup metadata for id:', book_id, 'once')
|
prints('Failed to write backup metadata for id:', book_id, 'once')
|
||||||
|
traceback.print_exc()
|
||||||
self.wait(self.interval)
|
self.wait(self.interval)
|
||||||
try:
|
try:
|
||||||
self.db.write_backup(book_id, raw)
|
self.db.write_backup(book_id, raw)
|
||||||
except:
|
except:
|
||||||
prints('Failed to write backup metadata for id:', book_id, 'again, giving up')
|
prints('Failed to write backup metadata for id:', book_id, 'again, giving up')
|
||||||
|
traceback.print_exc()
|
||||||
return
|
return
|
||||||
|
|
||||||
self.db.clear_dirtied(book_id, sequence)
|
self.db.clear_dirtied(book_id, sequence)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user