diff --git a/src/calibre/devices/mtp/unix/driver.py b/src/calibre/devices/mtp/unix/driver.py index 4ed7122b36..ef1c671cde 100644 --- a/src/calibre/devices/mtp/unix/driver.py +++ b/src/calibre/devices/mtp/unix/driver.py @@ -189,6 +189,8 @@ class MTP_DEVICE(MTPDeviceBase): @synchronous def create_folder(self, parent_id, name): parent = self.filesystem_cache.id_map[parent_id] + if not parent.is_folder: + raise ValueError('%s is not a folder'%parent.full_path) e = parent.folder_named(name) if e is not None: return e diff --git a/src/calibre/devices/mtp/windows/driver.py b/src/calibre/devices/mtp/windows/driver.py index f5c999760a..e0a6219de0 100644 --- a/src/calibre/devices/mtp/windows/driver.py +++ b/src/calibre/devices/mtp/windows/driver.py @@ -264,6 +264,8 @@ class MTP_DEVICE(MTPDeviceBase): @same_thread def create_folder(self, parent_id, name): parent = self.filesystem_cache.id_map[parent_id] + if not parent.is_folder: + raise ValueError('%s is not a folder'%parent.full_path) e = parent.folder_named(name) if e is not None: return e