Как размонтировать в зависимости от типа тома с помощью библиотеки Python GIO - PullRequest
0 голосов
/ 15 февраля 2020

Я пытаюсь имитировать c поведение команды оболочки gio mount, которая отключает все камеры gphoto2

gio mount -s gphoto2

Как определить, является ли объем gphoto2? Я попытался получить тип тома, но, похоже, переменная не содержит его,

from gi.repository import Gio, GObject

def main():
    mo = Gio.MountOperation()
    mo.set_anonymous(True)

    vl = Gio.VolumeMonitor.get()

    loop = GObject.MainLoop()

    for v in vl.get_mounts():
        print(dir(v))
        print(v.get_name(), v.get_uuid(), v.g_type_instance, v.get_drive(),
              v.get_volume(),
              v.get_root(),
              v.get_drive(),
              v.get_sort_key(),
              v.get_uuid())

1 Ответ

1 голос
/ 16 февраля 2020

Получите root монтирования (https://developer.gnome.org/gio/stable/GMount.html#g -mount-get- root) и проверьте его URI-схему (https://developer.gnome.org/gio/stable/GFile.html#g -file-has-uri-схема ). Если схема gphoto2, вы можете размонтировать ее.

См. C реализацию gio mount -s.

...