From db5186bf38a36bb275bef90d5cca323906eb1ed2 Mon Sep 17 00:00:00 2001 From: Edwin Eefting Date: Tue, 18 Jan 2022 00:11:52 +0100 Subject: [PATCH] ready to implement zfs-autoverify --- setup.py | 3 ++- zfs_autobackup/ZfsAuto.py | 5 +---- zfs_autobackup/ZfsAutobackup.py | 13 +++++++++++ zfs_autobackup/ZfsAutoverify.py | 39 +++++++++++++++++++++++++++++++++ zfs_autobackup/__init__.py | 6 ----- zfs_autobackup/__main__.py | 3 --- 6 files changed, 55 insertions(+), 14 deletions(-) create mode 100644 zfs_autobackup/ZfsAutoverify.py diff --git a/setup.py b/setup.py index 424d50b..6fb1b96 100644 --- a/setup.py +++ b/setup.py @@ -18,7 +18,8 @@ setuptools.setup( entry_points={ 'console_scripts': [ - 'zfs-autobackup = zfs_autobackup:cli', + 'zfs-autobackup = zfs_autobackup.ZfsAutobackup:cli', + 'zfs-autoverify = zfs_autobackup.ZfsAutoverify:cli', ] }, packages=setuptools.find_packages(), diff --git a/zfs_autobackup/ZfsAuto.py b/zfs_autobackup/ZfsAuto.py index b9ddff8..4f0ecf5 100644 --- a/zfs_autobackup/ZfsAuto.py +++ b/zfs_autobackup/ZfsAuto.py @@ -3,7 +3,6 @@ import os.path import sys from .LogConsole import LogConsole -from . import compressors class ZfsAuto(object): @@ -91,8 +90,6 @@ class ZfsAuto(object): self.verbose("Selecting dataset property : {}".format(self.property_name)) self.verbose("Snapshot format : {}".format(self.snapshot_time_format)) - if not args.no_holds: - self.verbose("Hold name : {}".format(self.hold_name)) return args @@ -151,7 +148,7 @@ class ZfsAuto(object): help='Exclude datasets that have the origin of their autobackup: property as "received". ' 'This can avoid recursive replication between two backup partners.') - return (parser) + return parser def verbose(self, txt): self.log.verbose(txt) diff --git a/zfs_autobackup/ZfsAutobackup.py b/zfs_autobackup/ZfsAutobackup.py index 7dfcf59..0bb6601 100644 --- a/zfs_autobackup/ZfsAutobackup.py +++ b/zfs_autobackup/ZfsAutobackup.py @@ -24,6 +24,9 @@ class ZfsAutobackup(ZfsAuto): args = super(ZfsAutobackup, self).parse_args(argv) + if not args.no_holds: + self.verbose("Hold name : {}".format(self.hold_name)) + if args.allow_empty: args.min_change = 0 @@ -486,3 +489,13 @@ class ZfsAutobackup(ZfsAuto): except KeyboardInterrupt: self.error("Aborted") return 255 + + +def cli(): + import sys + + sys.exit(ZfsAutobackup(sys.argv[1:], False).run()) + + +if __name__ == "__main__": + cli() diff --git a/zfs_autobackup/ZfsAutoverify.py b/zfs_autobackup/ZfsAutoverify.py new file mode 100644 index 0000000..0ac9067 --- /dev/null +++ b/zfs_autobackup/ZfsAutoverify.py @@ -0,0 +1,39 @@ +from .ZfsAuto import ZfsAuto + + +class ZfsAutoverify(ZfsAuto): + """The zfs-autoverify class""" + + def __init__(self, argv, print_arguments=True): + + # NOTE: common options and parameters are in ZfsAuto + super(ZfsAutoverify, self).__init__(argv, print_arguments) + + def parse_args(self, argv): + """do extra checks on common args""" + + args=super(ZfsAutoverify, self).parse_args(argv) + + + return args + + def get_parser(self): + """extend common parser with extra stuff needed for zfs-autobackup""" + + parser=super(ZfsAutoverify, self).get_parser() + + + return (parser) + + def run(self): + + pass + +def cli(): + import sys + + sys.exit(ZfsAutoverify(sys.argv[1:], False).run()) + + +if __name__ == "__main__": + cli() diff --git a/zfs_autobackup/__init__.py b/zfs_autobackup/__init__.py index de29084..b28b04f 100755 --- a/zfs_autobackup/__init__.py +++ b/zfs_autobackup/__init__.py @@ -1,9 +1,3 @@ -def cli(): - import sys - from .ZfsAutobackup import ZfsAutobackup - - zfs_autobackup = ZfsAutobackup(sys.argv[1:], False) - sys.exit(zfs_autobackup.run()) diff --git a/zfs_autobackup/__main__.py b/zfs_autobackup/__main__.py index 5912928..0b947ad 100755 --- a/zfs_autobackup/__main__.py +++ b/zfs_autobackup/__main__.py @@ -4,7 +4,4 @@ import sys -if __name__ == "__main__": - from . import cli - cli()