Fix for author edit error (2 same sort_authors lead maybe to choose wrong one)

This commit is contained in:
Ozzieisaacs 2020-09-05 18:23:14 +02:00
parent feacbe8ebd
commit eaed53e25b
2 changed files with 7 additions and 3 deletions

View file

@ -593,13 +593,16 @@ class CalibreDB():
sort_authors = entry.author_sort.split('&')
authors_ordered = list()
error = False
ids = [a.id for a in entry.authors]
for auth in sort_authors:
results = self.session.query(Authors).filter(Authors.sort == auth.lstrip().strip()).all()
# ToDo: How to handle not found authorname
result = self.session.query(Authors).filter(Authors.sort == auth.lstrip().strip()).first()
if not result:
if not len(results):
error = True
break
authors_ordered.append(result)
for r in results:
if r.id in ids:
authors_ordered.append(r)
if not error:
entry.authors = authors_ordered
return entry

View file

@ -684,6 +684,7 @@ def edit_book(book_id):
if modif_date:
book.last_modified = datetime.utcnow()
calibre_db.session.merge(book)
calibre_db.session.commit()
if config.config_use_google_drive:
gdriveutils.updateGdriveCalibreFromLocal()