From 43ad7fb0ba147189d0cc66d122fc29ed55cd04a5 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Tue, 3 Jul 2012 13:15:27 +0530 Subject: [PATCH] Linux: Support systems that have udisks2 but not udisks1 --- src/calibre/devices/udisks.py | 19 ++++++++++++++++--- 1 file changed, 16 insertions(+), 3 deletions(-) diff --git a/src/calibre/devices/udisks.py b/src/calibre/devices/udisks.py index 18771dbeb2..7a536f59eb 100644 --- a/src/calibre/devices/udisks.py +++ b/src/calibre/devices/udisks.py @@ -159,16 +159,29 @@ def get_udisks(ver=None): return u return UDisks2() if ver == 2 else UDisks() +def get_udisks1(): + u = None + try: + u = UDisks() + except NoUDisks1: + try: + u = UDisks2() + except NoUDisks2: + pass + if u is None: + raise EnvironmentError('UDisks not available on your system') + return u + def mount(node_path): - u = UDisks() + u = get_udisks1() u.mount(node_path) def eject(node_path): - u = UDisks() + u = get_udisks1() u.eject(node_path) def umount(node_path): - u = UDisks() + u = get_udisks1() u.unmount(node_path) def test_udisks(ver=None):