From f06339513583983ef6440b45f2f5466e7d3dfd21 Mon Sep 17 00:00:00 2001 From: GRiker Date: Mon, 2 Jul 2012 05:23:23 -0600 Subject: [PATCH] Added error handler for attempt to read eBook from iDevice --- src/calibre/devices/apple/driver.py | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/calibre/devices/apple/driver.py b/src/calibre/devices/apple/driver.py index 929c7b9ba0..fffe34ad34 100644 --- a/src/calibre/devices/apple/driver.py +++ b/src/calibre/devices/apple/driver.py @@ -828,7 +828,15 @@ class ITUNES(DriverBase): if DEBUG: logger().info("ITUNES.get_file(): exporting '%s'" % path) - outfile.write(open(self.cached_books[path]['lib_book'].location().path).read()) + try: + outfile.write(open(self.cached_books[path]['lib_book'].location().path).read()) + except: + # Clean up + logger().info(" unable to extract books from iDevices") + logger().info(" deleting empty ", outfile.name) + outfile.close() + os.remove(outfile.name) + raise UserFeedback("Unable to extract books from iDevices", details=None, level=UserFeedback.WARN) def open(self, connected_device, library_uuid): '''