def get_mount_point(block):
global collection
global messages
bus = dbus.SystemBus()
obj = bus.get_object('org.freedesktop.UDisks2', block)
iface = dbus.Interface(obj, 'org.freedesktop.DBus.Properties') # Here we use this 'magic' interface
dbus_mount_point = iface.Get('org.freedesktop.UDisks2.Filesystem', 'MountPoints')
mount_point = ''
while not len(dbus_mount_point):
time.sleep(0.5)
dbus_mount_point = iface.Get('org.freedesktop.UDisks2.Filesystem', 'MountPoints')
dbus_id = iface.Get('org.freedesktop.UDisks2.Block', 'Id')
dbus_name = iface.Get('org.freedesktop.UDisks2.Block', 'IdLabel')
dbus_space = iface.Get('org.freedesktop.UDisks2.Block', 'Size')
for letter in dbus_mount_point[0]:
mount_point += chr(letter)
if not dbus_name:
dbus_name = mount_point[:-1].split(os.sep)
dbus_name = dbus_name[len(dbus_name) - 1]
if not dbus_id:
dbus_id = uuid.uuid3(uuid.uuid4(), dbus_name)
collection[block] = [str(mount_point[:-1]), str(dbus_id), str(dbus_name), None, None, dbus_space]
messages.append(
'You have a new device connected (' + dbus_name + ', ' + extra_functions.convert_to_human_readable(
dbus_space) + '). To have JF track it, execute:' + '\n' + ' jf ' + '-i ' + str(mount_point[:-1]))
return dbus_id, block, dbus_name
评论列表
文章目录