def mount_device(device: Device, mount_point: str) -> Result:
"""
mount a device at a mount point
:param device: Device.
:param mount_point: str. Place to mount to.
:return: Result with Ok or Err
"""
arg_list = []
if device.id:
arg_list.append("-U")
arg_list.append(str(device.id))
else:
arg_list.append("/dev/{}".format(device.name))
arg_list.append(mount_point)
cmd = ["mount"]
cmd.extend(arg_list)
try:
output = subprocess.check_output(cmd, stderr=subprocess.PIPE)
return Ok(output.decode('utf-8'))
except subprocess.CalledProcessError as e:
log("subprocess failed stdout: {} stderr: {} returncode: {}".format(
e.stdout, e.stderr, e.returncode), ERROR)
return Err(e.output)
评论列表
文章目录