|
|
|
@ -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()
|
|
|
|
|