Skip to content
Snippets Groups Projects
Commit 8c3b8db4 authored by Sven Mäder's avatar Sven Mäder :speech_balloon:
Browse files

Not async

parent e4c92e6e
No related branches found
No related tags found
No related merge requests found
......@@ -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)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment