add: class Dataset
This commit is contained in:
+15
-5
@@ -1,6 +1,8 @@
|
||||
#!/usr/bin/python
|
||||
# -*- coding: utf-8 -*-
|
||||
|
||||
from __future__ import annotations
|
||||
|
||||
import os
|
||||
from subprocess import Popen, PIPE, check_output
|
||||
import config
|
||||
@@ -35,7 +37,15 @@ def find_backup_pool():
|
||||
raise IOError("Konnte keine Backup-Platte finden!")
|
||||
|
||||
|
||||
def get_datasets_to_backup():
|
||||
class Dataset:
|
||||
def __init__(self, name: str):
|
||||
self.name = name
|
||||
|
||||
def __repr__(self):
|
||||
return self.name
|
||||
|
||||
@classmethod
|
||||
def from_local_pool(cls) -> list[Dataset]:
|
||||
datasets_str = (
|
||||
Command([config.ZFS, "list", "-H", "-d", "1", "-o", "name", config.local_pool])
|
||||
.stdout.strip()
|
||||
@@ -43,10 +53,10 @@ def get_datasets_to_backup():
|
||||
)
|
||||
# we omit the first return value, which is the pool, not the dataset
|
||||
datasets_list = datasets_str.split("\n")[1:]
|
||||
to_backup = [d for d in datasets_list if d not in config.do_not_backup]
|
||||
to_backup = [Dataset(d) for d in datasets_list if d not in config.do_not_backup]
|
||||
print("Folgende Datasets und alle darunter befindlichen Kinder werden gesichert:")
|
||||
for tb in to_backup:
|
||||
print(" " + tb)
|
||||
for item in to_backup:
|
||||
print(" " + str(item))
|
||||
return to_backup
|
||||
|
||||
|
||||
@@ -199,7 +209,7 @@ def zfs_destroy(full_name, recursive=False):
|
||||
|
||||
def main():
|
||||
verify_running_as_root()
|
||||
datasets = get_datasets_to_backup()
|
||||
datasets = Dataset.from_local_pool()
|
||||
backup_pool = find_backup_pool()
|
||||
import_pool(backup_pool)
|
||||
try:
|
||||
|
||||
Reference in New Issue
Block a user