У меня есть простое приложение, использующее FLASK и библиотеку ISBNLIB, приложение получает штрих-код и номера ISBN, ищет ISBN и вставляет информацию в БД.
Мета-метод isbnlib ищет ISBN, а затем вставляет его в мою базу данных sqlite.
У меня проблема в том, что когда эта книга не найдена, я получаю сообщение об ошибке:
isbnlib.dev._exceptions.NoDataForSelectorError
Что я хочуЧтобы достичь, приложение должно перехватить эту ошибку и все еще вставить свой штрих-код и isbn в БД и ввести нулевые значения в другие поля.
Я не уверен, как решить эту проблему.
Буду признателен за любые предложения.
Вот код:
else:
# Assign meta dictionary to book_lib for value calling.
book_lib = (isbnlib.meta(isbn, service='goob', cache='default'))
# Display meta data to user.
flash(isbnlib.meta(isbn, service='goob', cache='default'))
# Assign meta dictionary values to variables for insertion to DB.
author = str(book_lib['Authors'])
lang = book_lib['Language']
publisher = book_lib['Publisher']
title = book_lib['Title']
publYear = book_lib['Year']
db.execute(
'INSERT INTO new_book (barcode, isbn, invoice, author_id, author, lang, publisher, title, publYear)'
' VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)',
(barcode, isbn, invoice, g.user['id'], author, lang, publisher, title, publYear)
)
db.commit()
return redirect(url_for('book.newbook'))