Add the CLI to start the server.

main
KKlochko 1 year ago
parent df81f99b73
commit d000abfaec

@ -0,0 +1,48 @@
###############################################################################
# Copyright (C) 2023 Kostiantyn Klochko <kklochko@protonmail.com> #
# #
# This file is part of notification-server. #
# #
# notification-server 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-server 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-server. If not, see <https://www.gnu.org/licenses/>.#
###############################################################################
import asyncio
import typer
from notification_server.server import Server
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[/].",
),
producer_port: int = typer.Option(
5554, "--producer-port", "-l",
help="The server's port to listen [b]producers[/].",
)
):
"""
This command [b]start[/] the [yellow b]server[/] which receives notifications and sends to the clients.
"""
server = Server(ip, port, producer_port)
asyncio.run(server.up())

@ -17,10 +17,13 @@
# along with notification-server. If not, see <https://www.gnu.org/licenses/>.#
###############################################################################
import asyncio
from .server import Server
from notification_server.cli import cli_app
def main():
cli_app()
if __name__ == '__main__':
server = Server('127.0.0.1', 5555, 5554)
asyncio.run(server.up())
main()

Loading…
Cancel
Save