import Pyro4 # from argparse import ArgumentParser ## TODO Arguments from Snapshot import Snapshot PYRO_URI = "PYRO:058b7dde9ec53de9235cfc57a07ce17a9eabfce3@./u:/run/zfssmd.sock" class ZFSSMDClient(object): def __init__(self, uri=PYRO_URI): self.uri = uri self.pyro_conn = Pyro4.Proxy(self.uri) ## FIXME Check for old timestamp def get_snapshot_list(self): response = self.pyro_conn.get_current_list() slist = next(iter(response.values())) return slist def make_snapshot_objects(self): snapshot_object_list = list() for snapshot in self.get_snapshot_list(): snapshot_obj = Snapshot(snapshot) snapshot_object_list.append(snapshot_obj) return snapshot_object_list objects = (ZFSSMDClient().make_snapshot_objects()) for o in objects: print(o.get_snapshot_zvol()+o.get_snapshot_name()+" "+o.get_snapshot_creation_time() + " " + o.get_snapshot_used_size() + " " + o.get_snapshot_referenced_size())