save numeric ip result from WHOX

This commit is contained in:
jesopo 2020-07-12 23:16:33 +01:00
parent 2fb81e7aef
commit 8a31f0190d
3 changed files with 9 additions and 0 deletions

View File

@ -36,6 +36,7 @@ class Server(object):
self.account: Optional[str] = None
self.server: Optional[str] = None
self.away: Optional[str] = None
self.ip: Optional[str] = None
self.registered = False
self.modes: List[str] = []
@ -682,6 +683,9 @@ class Server(object):
server: Optional[str] = None
if not line.params[5] == "*":
server = line.params[5]
ip: Optional[str] = None
if not line.params[3] == "255.255.255.255":
ip = line.params[3]
if nickname_lower in self.users:
user = self.users[nickname_lower]
@ -692,6 +696,7 @@ class Server(object):
user.account = account
user.server = server
user.away = away
user.ip = ip
if nickname_lower == self.nickname_lower:
emit.self = True
@ -701,6 +706,7 @@ class Server(object):
self.account = account
self.server = server
self.away = away
self.ip = ip
return emit

View File

@ -11,6 +11,7 @@ class User(object):
self.account: Optional[str] = None
self.server: Optional[str] = None
self.away: Optional[str] = None
self.ip: Optional[str] = None
self.channels: Set[str] = set([])
def __repr__(self) -> str:

View File

@ -42,6 +42,7 @@ class WHOTest(unittest.TestCase):
self.assertEqual(user.account, "account")
self.assertEqual(user.server, "server")
self.assertIsNone(user.away)
self.assertEqual(user.ip, "realip")
self.assertEqual(server.username, user.username)
self.assertEqual(server.hostname, user.hostname)
@ -49,6 +50,7 @@ class WHOTest(unittest.TestCase):
self.assertEqual(server.account, user.account)
self.assertEqual(server.server, user.server)
self.assertIsNone(server.away)
self.assertEqual(server.ip, user.ip)
server.parse_tokens(irctokens.tokenise(
f"354 * {WHO_TYPE} user realip host server nickname G account :real"))