]> git.phdru.name Git - m_librarian.git/blobdiff - m_librarian/web/app.py
Feat(web): Catch and report errors on downloading
[m_librarian.git] / m_librarian / web / app.py
index 283ddb715b8b819fb0039c57bf375337eff84a1e..39a1779d38c907ae5cbdc829f44913655eb4fd0e 100644 (file)
@@ -66,15 +66,21 @@ def download_books():
                 books_ids.append(bid)
     if books_ids:
         download_path = get_config().getpath('download', 'path')
-        for bid in books_ids:
-            book = Book.get(int(bid))
-            download(book, download_path)
-        return {
-            'message': u'Книги сохранены.',
-        }
+        try:
+            for bid in books_ids:
+                book = Book.get(int(bid))
+                download(book, download_path)
+        except Exception as e:
+            return {
+                'error': str(e),
+            }
+        else:
+            return {
+                'message': u'Книги сохранены.',
+            }
     else:
         return {
-            'message': u'Не выбрано книг для сохранения.',
+            'error': u'Не выбрано книг для сохранения.',
         }