From 8c3b8db4570885cdae0a42ce4012269047c25918 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sven=20M=C3=A4der?= <maeder@phys.ethz.ch> Date: Fri, 14 Feb 2020 00:10:24 +0100 Subject: [PATCH] Not async --- rt.py | 42 ++++++++++++++++++------------------------ 1 file changed, 18 insertions(+), 24 deletions(-) diff --git a/rt.py b/rt.py index f0e799e..d14b4a7 100755 --- a/rt.py +++ b/rt.py @@ -51,7 +51,10 @@ class RT(Plugin): def get_config_class(cls) -> Type[BaseProxyConfig]: return Config - def is_valid_number(self, number: str) -> bool: + def can_manage(self, evt: MessageEvent) -> bool: + return True if evt.sender in self.whitelist else False + + def valid_number(self, number: str) -> bool: return True if self.regex_number.match(number) else False def filter_dict(self, raw: dict, keys: Set) -> dict: @@ -63,14 +66,6 @@ class RT(Plugin): def html_link(self, number: str) -> str: return f'<a href="{self.display}?id={number}">rt#{number}</a>' - async def can_manage(self, evt: MessageEvent) -> bool: - if evt.sender in self.whitelist: - return True - return False - - async def _username(self, evt: MessageEvent) -> str: - return evt.sender[1:].split(':')[0] - async def _member_mxids(self, room_id: RoomID) -> Dict[UserID, str]: room_members = await self.client.get_joined_members(room_id) member_mxids = {} @@ -153,7 +148,7 @@ class RT(Plugin): @rt.subcommand('properties', aliases=('p', 'prop'), help='Show all ticket properties.') @command.argument('number', 'ticket number', parser=str) async def properties(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() properties_dict = await self._properties(number) @@ -163,7 +158,7 @@ class RT(Plugin): @rt.subcommand('resolve', aliases=('r', 'res'), help='Mark the ticket as resolved.') @command.argument('number', 'ticket number', parser=str) async def resolve(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() await self._edit(number, {'Status': 'resolved'}) @@ -172,7 +167,7 @@ class RT(Plugin): @rt.subcommand('open', aliases=('o', 'op'), help='Mark the ticket as open.') @command.argument('number', 'ticket number', parser=str) async def open(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() await self._edit(number, {'Status': 'open'}) @@ -181,7 +176,7 @@ class RT(Plugin): @rt.subcommand('stall', aliases=('st', 'sta'), help='Mark the ticket as stalled.') @command.argument('number', 'ticket number', parser=str) async def stall(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() await self._edit(number, {'Status': 'stalled'}) @@ -190,7 +185,7 @@ class RT(Plugin): @rt.subcommand('delete', aliases=('d', 'del'), help='Mark the ticket as deleted.') @command.argument('number', 'ticket number', parser=str) async def delete(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() await self._edit(number, {'Status': 'deleted'}) @@ -198,7 +193,7 @@ class RT(Plugin): @rt.subcommand('autoresolve', help='Ask the bot to automatically answer and resolve tickets.') async def autoresolve(self, evt: MessageEvent) -> None: - if not await self.can_manage(evt): + if not self.can_manage(evt): return await evt.mark_read() await evt.react('😂🤣🦄🌈') @@ -207,7 +202,7 @@ class RT(Plugin): @command.argument('number', 'ticket number', parser=str) @command.argument('comment', 'comment text', pass_raw=True) async def comment(self, evt: MessageEvent, number: str, comment: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() await self._comment(number, comment) @@ -216,7 +211,7 @@ class RT(Plugin): @rt.subcommand('history', aliases=('h', 'hist'), help='Get a list of all history entries.') @command.argument('number', 'ticket number', parser=str) async def history(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() history_dict = await self._history(number) @@ -227,7 +222,7 @@ class RT(Plugin): @command.argument('number', 'ticket number', parser=str) @command.argument('entryid', 'history entry number', parser=str) async def entry(self, evt: MessageEvent, number: str, entryid: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() entry_dict = await self._entry(number, entryid) @@ -237,7 +232,7 @@ class RT(Plugin): @rt.subcommand('last', aliases=('l', 'la'), help='Gets the last entry.') @command.argument('number', 'ticket number', parser=str) async def last(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() history = await self._history(number) @@ -250,7 +245,7 @@ class RT(Plugin): @rt.subcommand('show', aliases=('s', 'sh'), help='Show all information about the ticket.') @command.argument('number', 'ticket number', parser=str) async def show(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() prop_dict = await self._properties(number) @@ -269,12 +264,11 @@ class RT(Plugin): @rt.subcommand('take', aliases=('t', 'ta', 'steal'), help='Take or steal the ticket.') @command.argument('number', 'ticket number', parser=str) async def take(self, evt: MessageEvent, number: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() - username = await self._username(evt) displayname = await self._displayname(evt.room_id, evt.sender) - await self._edit(number, {'Owner': username}) + await self._edit(number, {'Owner': evt.sender[1:].split(':')[0]}) content = TextMessageEventContent( msgtype=MessageType.NOTICE, format=Format.HTML, body=f'{displayname} took rt#{number} ðŸ‘ï¸', @@ -286,7 +280,7 @@ class RT(Plugin): @command.argument('number', 'ticket number', parser=str) @command.argument('user', 'matrix user', parser=str) async def give(self, evt: MessageEvent, number: str, user: str) -> None: - if not await self.can_manage(evt) or not self.is_valid_number(number): + if not self.can_manage(evt) or not self.valid_number(number): return await evt.mark_read() member_mxids = await self._member_mxids(evt.room_id) -- GitLab