Byron Clark avatar Byron Clark committed 23fa12c

Only check removable recursively.

Comments (0)

Files changed (1)

udiskie/device.py

         return self._get_property('PartitionSlave')
 
     def is_removable(self):
-        return self._get_property('DeviceIsRemovable')
+        """Is the device removable?
+
+        Also checks parent devices recursively because udisks doesn't report a
+        partition on a removable device as removable."""
+        if self._get_property('DeviceIsRemovable'):
+            return True
+        elif self.is_partition():
+            parent = Device(self.bus, self.partition_slave())
+            return parent.is_removable()
+        else:
+            return False
 
     def is_partition(self):
         return self._get_property('DeviceIsPartition')
 
     def is_handleable(self):
-        """Should this device be handled by udiskie.
+        """Should this device be handled by udiskie?
 
-        Currently this just means that the device is removable or that the
-        device it is part of is removable."""
+        Currently this just means that the device is removable and holds a
+        filesystem."""
 
         if self.is_removable() and self.is_filesystem():
             return True
         else:
-            if self.is_partition():
-                parent = Device(self.bus, self.partition_slave())
-                return parent.is_handleable()
-            else:
-                return False
+            return False
 
     def is_mounted(self):
         return self._get_property('DeviceIsMounted')
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.