diff --git a/cps/web.py b/cps/web.py index c9b59200..c2750baa 100755 --- a/cps/web.py +++ b/cps/web.py @@ -500,7 +500,10 @@ def read_book(book_id): os.mkdir(book_dir) for data in book.data: if data.format.lower() == "epub": - zfile = zipfile.ZipFile(os.path.join(config.DB_ROOT, book.path, data.name) + ".epub") + epub_file = os.path.join(config.DB_ROOT, book.path, data.name) + ".epub" + if not os.path.isfile(epub_file): + raise ValueError('Error opening eBook. File does not exist: ', epub_file) + zfile = zipfile.ZipFile(epub_file) for name in zfile.namelist(): (dirName, fileName) = os.path.split(name) newDir = os.path.join(book_dir, dirName) @@ -517,6 +520,7 @@ def read_book(book_id): fd.write(zfile.read(name)) fd.close() zfile.close() + break return render_template('read.html', bookid=book_id, title="Read a Book") @app.route("/download//")