From f4566fc6b59dc556db13ebabd4db5e1115a92cf8 Mon Sep 17 00:00:00 2001 From: KKlochko Date: Sat, 24 Jun 2023 17:31:05 +0300 Subject: [PATCH] Add the show one option for source. --- CHANGELOG.org | 2 ++ pyproject.toml | 2 +- tui_rsync/cli/source/source.py | 2 ++ tui_rsync/cli/source/source_show.py | 53 +++++++++++++++++++++++++++++ 4 files changed, 58 insertions(+), 1 deletion(-) create mode 100644 tui_rsync/cli/source/source_show.py diff --git a/CHANGELOG.org b/CHANGELOG.org index 182382a..506d813 100644 --- a/CHANGELOG.org +++ b/CHANGELOG.org @@ -53,4 +53,6 @@ Added badge for pypi version of the package. ** 0.8.12 <2023-06-23 Fri> Added *update source* option for source. +** 0.8.13 <2023-06-24 Sat> + Added *show one* option for Source. diff --git a/pyproject.toml b/pyproject.toml index 068119d..d7cb0f9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "tui-rsync" -version = "0.8.12" +version = "0.8.13" description = "tui-rsync will help you to manage yours backups." authors = ["Kostiantyn Klochko "] readme = "README.rst" diff --git a/tui_rsync/cli/source/source.py b/tui_rsync/cli/source/source.py index e5400c4..567b440 100644 --- a/tui_rsync/cli/source/source.py +++ b/tui_rsync/cli/source/source.py @@ -24,11 +24,13 @@ import typer from tui_rsync.models.models import Source, Destination, SyncCommand, Path from tui_rsync.cli.label_prompt import LabelPrompt +from tui_rsync.cli.source.source_show import source_show from tui_rsync.cli.source.source_update import source_update from tui_rsync.cli.source.source_remove import source_remove console = Console() source = typer.Typer() +source.add_typer(source_show, name="show", help="Show sources") source.add_typer(source_update, name="update", help="Update sources") source.add_typer(source_remove, name="remove", help="Remove sources") diff --git a/tui_rsync/cli/source/source_show.py b/tui_rsync/cli/source/source_show.py new file mode 100644 index 0000000..d774aad --- /dev/null +++ b/tui_rsync/cli/source/source_show.py @@ -0,0 +1,53 @@ +################################################################################ +# Copyright (C) 2023 Kostiantyn Klochko # +# # +# This file is part of tui-rsync. # +# # +# tui-rsync is free software: you can redistribute it and/or modify it under # +# uthe terms of the GNU General Public License as published by the Free # +# Software Foundation, either version 3 of the License, or (at your option) # +# any later version. # +# # +# tui-rsync is distributed in the hope that it will be useful, but WITHOUT ANY # +# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS # +# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more # +# details. # +# # +# You should have received a copy of the GNU General Public License along with # +# tui-rsync. If not, see . # +################################################################################ + +from rich.console import Console +from rich.prompt import Prompt +from typing import List, Optional +import typer + +from tui_rsync.models.models import Source, Destination, SyncCommand, Path +from tui_rsync.cli.label_prompt import LabelPrompt + +console = Console() +source_show = typer.Typer() + +@source_show.command() +def one( + label: str = typer.Option( + None, "--label", "-l", + help="[b]The label[/] is a uniq identification of a [b]source[/].", + show_default=False + ), +): + """ + [green b]Show[/] an [yellow]existing source label[/]. + """ + if label is None: + console.print("What is the [yellow b]label of source[/]? ") + label = LabelPrompt.get_label_fzf() + + if not Source.is_exist(label): + console.print("[red b][ERROR][/] Source does not exists!!!") + return + + source = Source.get_source(label) + + console.print(source.show_format()) +