diff options
author | Papoteur <papoteur@mageia.org> | 2021-01-01 21:57:34 +0100 |
---|---|---|
committer | Papoteur <papoteur@mageia.org> | 2021-01-01 21:57:34 +0100 |
commit | fb45e4177862b407e45753d0390bbcd1eb0278b9 (patch) | |
tree | 1918b247e82ca7dd35f1b76e0339f83936a7334d /lib | |
parent | a6368e5c2cfe9e50051418df2ed93a2410ec6143 (diff) | |
download | isodumper-fb45e4177862b407e45753d0390bbcd1eb0278b9.tar isodumper-fb45e4177862b407e45753d0390bbcd1eb0278b9.tar.gz isodumper-fb45e4177862b407e45753d0390bbcd1eb0278b9.tar.bz2 isodumper-fb45e4177862b407e45753d0390bbcd1eb0278b9.tar.xz isodumper-fb45e4177862b407e45753d0390bbcd1eb0278b9.zip |
Manage error when partition is busy and trying to unmount
Diffstat (limited to 'lib')
-rwxr-xr-x | lib/isodumper.py | 16 |
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/isodumper.py b/lib/isodumper.py index 4c3fa6b..f164547 100755 --- a/lib/isodumper.py +++ b/lib/isodumper.py @@ -127,7 +127,13 @@ class UDisks2(object): iface = self.bus.get(self.SERVICE, path_to_encrypted) fs = iface[self.SERVICE + '.Filesystem'] if fs.MountPoints: # partition is mounted - fs.Unmount({}) + try: + fs.Unmount({}) + except GLib.GError as e: + print(str(e)) + return False, _("A partition is busy. Try to free it before starting again.") + except: + raise Exception(str(e)) iface = self.bus.get(self.SERVICE, block['path']) fs = iface[self.SERVICE + '.Encrypted'] fs.Lock({}) @@ -138,7 +144,13 @@ class UDisks2(object): fs = iface[self.SERVICE + '.Filesystem'] if fs.MountPoints: # partition is mounted logging.debug(f"Unmounting {block['path']}") - fs.Unmount({}) + try: + fs.Unmount({}) + except GLib.GError as e: + print(str(e)) + return False, _("A partition is busy. Try to free it before starting again.") + except: + raise Exception(str(e)) else: logging.debug(f"Not mounted {block['path']}") return True, "" |