external_devices_layer.py 文件源码

python
阅读 24 收藏 0 点赞 0 评论 0

项目:jf 作者: rolycg 项目源码 文件源码
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
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号