Skip to content

Commit fbca8a0

Browse files
committed
driver/usbstoragedriver: use udisk2 only when calling write_file
Otherwise, udisks2 and gi are needed for all installations, even if write_files is never used. Fixes: #1219 Signed-off-by: Jan Luebbe <jlu@pengutronix.de>
1 parent 722838b commit fbca8a0

1 file changed

Lines changed: 11 additions & 2 deletions

File tree

labgrid/driver/usbstoragedriver.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -49,14 +49,21 @@ class USBStorageDriver(Driver):
4949
def __attrs_post_init__(self):
5050
super().__attrs_post_init__()
5151
self.wrapper = None
52+
self.proxy = None
5253

53-
def on_activate(self):
54+
def _start_wrapper(self):
55+
if self.wrapper:
56+
return
5457
host = self.storage.host if isinstance(self.storage, RemoteUSBResource) else None
5558
self.wrapper = AgentWrapper(host)
5659
self.proxy = self.wrapper.load('udisks2')
5760

61+
def on_activate(self):
62+
pass
63+
5864
def on_deactivate(self):
59-
self.wrapper.close()
65+
if self.wrapper:
66+
self.wrapper.close()
6067
self.wrapper = None
6168
self.proxy = None
6269

@@ -75,6 +82,8 @@ def write_files(self, sources, target, partition, target_is_directory=True):
7582
target_is_directory (bool): Whether target is a directory
7683
"""
7784

85+
self._start_wrapper()
86+
7887
self.devpath = self._get_devpath(partition)
7988
mount_path = self.proxy.mount(self.devpath)
8089

0 commit comments

Comments
 (0)