From b0ffba3c2e9d49a8110224adc2d5af6739e6769e Mon Sep 17 00:00:00 2001 From: KKlochko Date: Tue, 12 Dec 2023 18:56:27 +0200 Subject: [PATCH] Add the CLI to start the client. --- notification_client/cli.py | 44 +++++++++++++++++++++++++++++++++++++ notification_client/main.py | 10 ++++++--- 2 files changed, 51 insertions(+), 3 deletions(-) create mode 100644 notification_client/cli.py diff --git a/notification_client/cli.py b/notification_client/cli.py new file mode 100644 index 0000000..b6551ec --- /dev/null +++ b/notification_client/cli.py @@ -0,0 +1,44 @@ +############################################################################### +# Copyright (C) 2023 Kostiantyn Klochko # +# # +# This file is part of notification-client. # +# # +# notification-client is free software: you can redistribute it and/or modify # +# it under the terms of the GNU Affero General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or (at your # +# option) any later version. # +# # +# notification-client 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 Affero General Public # +# License for more details. # +# # +# You should have received a copy of the GNU Affero General Public License # +# along with notification-client. If not, see .# +############################################################################### + +import asyncio +import typer +from notification_client.client import Client + +cli_app = typer.Typer(rich_markup_mode="rich") +notify = typer.Typer() + + +@cli_app.command() +def up( + ip: str = typer.Option( + "127.0.0.1", "--ip", "-i", + help="The server's ip.", + ), + port: int = typer.Option( + 5555, "--port", "-p", + help="The server's port to notify [b]clients[/].", + ) +): + """ + This command [b]start[/] the [yellow b]client[/] and connects to the notification server. + """ + + client = Client(ip, port) + asyncio.run(client.connect()) diff --git a/notification_client/main.py b/notification_client/main.py index 162199b..c1bbcba 100644 --- a/notification_client/main.py +++ b/notification_client/main.py @@ -19,9 +19,13 @@ import asyncio -from notification_client.client import Client +from notification_client.cli import cli_app + + +def main(): + cli_app() + if __name__ == '__main__': - client = Client('127.0.0.1', 5555) - asyncio.run(client.connect()) + main()