Fixes bug that uses edition remote_id for work

This commit is contained in:
Mouse Reeve
2020-05-09 13:11:14 -07:00
parent 277c1a80fd
commit 7220a17840
2 changed files with 7 additions and 5 deletions

View File

@ -10,11 +10,13 @@ from fedireads.tasks import app
def get_or_create_book(value, key='id', connector_id=None):
''' pull up a book record by whatever means possible '''
try:
book = models.Book.objects.select_subclasses().get(**{key: value})
book = models.Book.objects.select_subclasses().filter(
**{key: value}
).first()
if book:
if not isinstance(book, models.Edition):
return book.default_edition
return book
except models.Book.DoesNotExist:
pass
if key == 'remote_id':
book = get_by_absolute_id(value, models.Book)