From 5ed3e6743ca37893f9fcd44d2e1d71eaae2e6d21 Mon Sep 17 00:00:00 2001 From: LoaD Accumulator Date: Wed, 14 Jun 2023 07:40:15 +0200 Subject: [PATCH] [ADD] Add a router and a way for a user to delete styles. I should work soon on the Lilypond part of things. --- router.py | 16 ++++++++++++++++ routes.py | 28 ++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+) create mode 100644 router.py create mode 100644 routes.py diff --git a/router.py b/router.py new file mode 100644 index 0000000..c011676 --- /dev/null +++ b/router.py @@ -0,0 +1,16 @@ +from nio import RoomMessageText +import typing + +routes = {} +helptxt = {} + +def add_route(cmd: str, hlp: str, func: typing.Callable) -> None: + if cmd not in routes.keys(): + routes[cmd] = func + helptxt[cmd] = hlp + +async def handle_command(command: str, room: str, event: RoomMessageText, args: list): + import utils + if command in routes.keys(): + await routes[command](utils.get_client(), room, event, args) + diff --git a/routes.py b/routes.py new file mode 100644 index 0000000..ed67b1e --- /dev/null +++ b/routes.py @@ -0,0 +1,28 @@ +from nio import * + +async def route_help(client: Client, room: str, event: RoomMessageText, args: list) -> None: + import router + import utils + + txt = "Commands for TeXLily:\n" + + for cmd in router.routes.keys(): + txt += f"\ttxt!{cmd}: {router.helptxt[cmd]}\n" + + await utils.send_msg(client, room, txt) + +async def route_delete(client: Client, room: str, event: RoomMessageText, args: list) -> None: + if len(args) == 1: + import utils + import os + + directory = utils.create_user_dir(event.sender) + + file = os.path.join(directory, args[0] + ".sty") + + try: + os.remove(file) + await utils.send_msg(client, room, "Deleted!") + except FileNotFoundError: + await utils.send_msg(client, room, f"Couldn't delete style {args[0]}") + pass