def add(self, path): run_as_root(["losetup", "-f", path]) all = self.list() for loop in all: if all[loop] == path: return loop return None
def list(self): results = {} for line in run_as_root(["losetup", "-a"]): m = re.match("^(\S+):.+\((\S+)\)", line) if m: loop = m.group(1) this_path = m.group(2) results[loop] = this_path return results
def list(self): results = {} for line in run_as_root(["losetup", "-a"]): m = re.match('^(\S+):.+\((\S+)\)', line) if m: loop = m.group(1) this_path = m.group(2) results[loop] = this_path return results
def remove(self, loop): run_as_root(["losetup", "-d", str(loop)])