(Added) the dry-run flag to the sync one function.

This commit is contained in:
2023-03-12 14:39:48 +02:00
parent e440cc24ac
commit 353d1ec478
3 changed files with 21 additions and 1 deletions
+5
View File
@@ -29,3 +29,8 @@ class Rsync:
output = Popen(args, stdout=PIPE)
response = output.communicate()
def dry_one(self, source, destination):
args = self.__args + ['--dry-run', source, destination]
output = Popen(args, stdout=PIPE)
response = output.communicate()
return response
+13 -1
View File
@@ -41,6 +41,10 @@ def one(
help="[b]The label[/] is a uniq identification of a [b]source[/].",
show_default=False
),
dry: bool = typer.Option(
False, "-d", "--dry-run",
help="The command will [b]show[/] information about what will be changed.",
)
):
"""
[green b]Sync[/] a [yellow]source[/] with the [yellow b]label[/] and its backups.
@@ -54,7 +58,12 @@ def one(
if not dest.path.is_exists():
console.print(skip_error)
continue
rsync.run_one(str(src.source), str(dest))
if dry:
response = rsync.dry_one(str(src.source), str(dest))
out, err = response
console.print(f"{bstr_nonan(out)} {bstr_nonan(err)}")
else:
rsync.run_one(str(src.source), str(dest))
@sync.command()
def group(
@@ -100,3 +109,6 @@ def recover(
rsync = Rsync(str(src.args))
rsync.run_one(str(dest), str(src.source))
def bstr_nonan(obj):
return "" if obj is None else obj.decode()