From 664c28fae7f41065c1667abe0da148876e53a81a Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 5 Aug 2012 22:08:51 +0530 Subject: [PATCH] ... --- src/calibre/devices/mtp/unix/driver.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/calibre/devices/mtp/unix/driver.py b/src/calibre/devices/mtp/unix/driver.py index 8336be9fc2..081b09975f 100644 --- a/src/calibre/devices/mtp/unix/driver.py +++ b/src/calibre/devices/mtp/unix/driver.py @@ -64,6 +64,10 @@ class MTP_DEVICE(MTPDeviceBase): @synchronous def open(self, connected_device, library_uuid): + def blacklist_device(): + d = connected_device + self.blacklisted_devices.add((d.busnum, d.devnum, d.vendor_id, + d.product_id, d.bcd, d.serial)) try: self.detect.create_device(connected_device) except ValueError: @@ -74,8 +78,9 @@ class MTP_DEVICE(MTPDeviceBase): except ValueError: # Black list this device so that it is ignored for the # remainder of this session. - d = connected_device - self.blacklisted_devices.add((d.busnum, d.devnum, d.vendor_id, - d.product_id, d.bcd, d.serial)) + blacklist_device() raise OpenFailed('%s is not a MTP device'%connected_device) + except TypeError: + blacklist_device() + raise OpenFailed('')