aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar jesopo2019-10-30 13:46:29 +0000
committerGravatar jesopo2019-10-30 13:46:29 +0000
commit9958c9169db45464f6ebb50d41e2e0a27eca768b (patch)
treec1fe69e4150cb002fa429f80122e59b9c20953a3
parentupdate CHANGELOG.md (diff)
signature
fix _line() related type hinting issues in IRCServer.py
-rw-r--r--src/IRCServer.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/IRCServer.py b/src/IRCServer.py
index 0674d113..7adde4eb 100644
--- a/src/IRCServer.py
+++ b/src/IRCServer.py
@@ -37,7 +37,7 @@ class Server(IRCObject.Object):
self._capabilities_waiting = set([]) # type: typing.Set[str]
self.agreed_capabilities = set([]) # type: typing.Set[str]
self.server_capabilities = {} # type: typing.Dict[str, str]
- self.batches = {} # type: typing.Dict[str, utils.irc.IRCBatch]
+ self.batches = {} # type: typing.Dict[str, IRCLine.IRCBatch]
self.users = {} # type: typing.Dict[str, IRCUser.User]
self.new_users = set([]) #type: typing.Set[IRCUser.User]
@@ -296,9 +296,10 @@ class Server(IRCObject.Object):
def send_raw(self, line: str):
return self.send(IRCLine.parse_line(line))
- def _line(self, command, args, tags={}):
- return IRCLine.ParsedLine(command,
- [arg for arg in args if not arg == None], tags=tags)
+ def _line(self, command: str,
+ unfiltered_args: typing.Sequence[typing.Optional[str]], tags={}):
+ args: typing.List[str] = [a for a in unfiltered_args if not a is None]
+ return IRCLine.ParsedLine(command, args, tags=tags)
def send_user(self, username: str, realname: str
) -> typing.Optional[IRCLine.SentLine]:
@@ -359,9 +360,9 @@ class Server(IRCObject.Object):
def send_pong(self, token: str) -> typing.Optional[IRCLine.SentLine]:
return self.send(self._line("PONG", [token]))
- def send_join(self, channel_name: str, key: typing.List[str]=None
+ def send_join(self, channel_name: str, keys: typing.List[str]=None
) -> typing.Optional[IRCLine.SentLine]:
- return self.send(self._line("JOIN", [channel_name, key]))
+ return self.send(self._line("JOIN", [channel_name]+(keys or [])))
def send_joins(self, channel_names: typing.List[str],
keys: typing.List[str]=None):
return self.send(self._line("JOIN",
@@ -386,7 +387,10 @@ class Server(IRCObject.Object):
def send_mode(self, target: str, mode: str=None, args: typing.List[str]=None
) -> typing.Optional[IRCLine.SentLine]:
- return self.send(self._line("MODE", [target, mode]+(args or [])))
+ line_args = [target, mode]
+ if args:
+ line_args.extend(args)
+ return self.send(self._line("MODE", line_args))
def send_topic(self, channel_name: str, topic: str
) -> typing.Optional[IRCLine.SentLine]: