# HG changeset patch # User Tero Marttila # Date 1361043702 -7200 # Node ID 468704db09c456f3b3561e3d1ddb57169c76b736 # Parent adc190def3b10248bcd2b648972432b1d75a5b17 pvl.backup.mount/lvm: implement optional sudo invoke diff -r adc190def3b1 -r 468704db09c4 pvl/backup/lvm.py --- a/pvl/backup/lvm.py Sat Feb 16 21:40:44 2013 +0200 +++ b/pvl/backup/lvm.py Sat Feb 16 21:41:42 2013 +0200 @@ -35,8 +35,14 @@ # VG name name = None - def __init__ (self, name) : + def __init__ (self, name, sudo=None) : + """ + name - VG name + sudo - invoke sudo + """ + self.name = name + self.sudo = sudo def lv_name (self, lv) : """ @@ -60,7 +66,7 @@ log.debug("{cmd} {opts} {args}".format(cmd=cmd, args=args, opts=opts)) # invoke - invoke(self.LVM, [cmd] + optargs(*args, **opts)) + invoke(self.LVM, [cmd] + optargs(*args, **opts), sudo=self.sudo) def volume (self, name) : """ diff -r adc190def3b1 -r 468704db09c4 pvl/backup/mount.py --- a/pvl/backup/mount.py Sat Feb 16 21:40:44 2013 +0200 +++ b/pvl/backup/mount.py Sat Feb 16 21:41:42 2013 +0200 @@ -2,7 +2,7 @@ Mount filesystems. """ -from pvl.backup.invoke import command +from pvl.backup.invoke import invoke, optargs, command import contextlib import os, os.path @@ -24,16 +24,18 @@ UMOUNT = '/bin/umount' - def __init__ (self, dev, mnt, readonly=False) : + def __init__ (self, dev, mnt, readonly=False, sudo=None) : """ dev - device path mnt - mount path readonly - mount readonly + sudo - invoke sudo """ self.dev = dev self.mnt = mnt self.readonly = readonly + self.sudo = sudo @property def path (self) : @@ -66,7 +68,7 @@ raise MountError("Device does not exist: {dev}".format(dev=self.dev)) # mount - command(self.MOUNT, self.dev, self.mnt, options=self.options()) + invoke(self.MOUNT, optargs(self.dev, self.mnt, options=self.options()), sudo=self.sudo) def close (self) : """ @@ -78,7 +80,7 @@ raise MountError("Mountpoint is not mounted: {mnt}".format(mnt=self.mnt)) # umount - command(self.UMOUNT, self.mnt) + invoke(self.UMOUNT, optargs(self.mnt), sudo=self.sudo) def __repr__ (self) : return "Mount(dev={dev}, mnt={mnt})".format(