From 730fef38f3cabbe856d0686a2ce5427e2f36faa6 Mon Sep 17 00:00:00 2001 From: jesopo Date: Sun, 5 Apr 2020 23:54:57 +0100 Subject: [PATCH] server.send() should be sync and return a Future - no nead for double await --- ircrobots/interface.py | 4 ++-- ircrobots/server.py | 14 +++++++------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/ircrobots/interface.py b/ircrobots/interface.py index 88d75d1..755f0b0 100644 --- a/ircrobots/interface.py +++ b/ircrobots/interface.py @@ -42,9 +42,9 @@ class IServer(Server): params: ConnectionParams desired_caps: Set[ICapability] - async def send_raw(self, line: str, priority=SendPriority.DEFAULT): + def send_raw(self, line: str, priority=SendPriority.DEFAULT) -> Future: pass - async def send(self, line: Line, priority=SendPriority.DEFAULT): + def send(self, line: Line, priority=SendPriority.DEFAULT) -> Future: pass def wait_for(self, response: IMatchResponse) -> Awaitable[Line]: diff --git a/ircrobots/server.py b/ircrobots/server.py index 7ba684b..bda2416 100644 --- a/ircrobots/server.py +++ b/ircrobots/server.py @@ -37,12 +37,12 @@ class Server(IServer): self._read_queue: Deque[Tuple[Line, List[Emit]]] = deque() - async def send_raw(self, line: str, priority=SendPriority.DEFAULT + def send_raw(self, line: str, priority=SendPriority.DEFAULT ) -> Future: - return await self.send(tokenise(line), priority) - async def send(self, line: Line, priority=SendPriority.DEFAULT) -> Future: + return self.send(tokenise(line), priority) + def send(self, line: Line, priority=SendPriority.DEFAULT) -> Future: prio_line = SentLine(priority, line) - await self._write_queue.put(prio_line) + self._write_queue.put_nowait(prio_line) return prio_line.future def set_throttle(self, rate: int, time: float): @@ -71,9 +71,9 @@ class Server(IServer): username = self.params.username or nickname realname = self.params.realname or nickname - await self.send(build("CAP", ["LS", "302"])) - await self.send(build("NICK", [nickname])) - await self.send(build("USER", [username, "0", "*", realname])) + self.send(build("CAP", ["LS", "302"])) + self.send(build("NICK", [nickname])) + self.send(build("USER", [username, "0", "*", realname])) async def _on_read_emit(self, line: Line, emit: Emit): if emit.command == "001":