Improve context creation and lowercasing

This commit is contained in:
Vgr E. Barry 2016-11-20 08:24:50 -05:00
parent 5f5966a8b4
commit 6d9017a4bd
3 changed files with 13 additions and 8 deletions

View File

@ -62,8 +62,8 @@ class Channel(IRCContext):
is_channel = True
def __init__(self, name, client, **kwargs):
super().__init__(name, client, **kwargs)
def __init__(self, name, client):
super().__init__(name, client)
self.users = set()
self.modes = {}
self.timestamp = None

View File

@ -39,13 +39,15 @@ def context_types(*types):
class IRCContext:
"""Base class for channels and users."""
def __init__(self, name, client, *, ref=None):
def __init__(self, name, client):
self.name = name
self.client = client
self.ref = ref
self.ref = None
def lower(self):
return type(self)(lower(name), client, ref=(self.ref or self))
temp = type(self)(lower(name), client)
temp.ref = self.ref or self
return temp
def get_send_type(self, *, is_notice=False, is_privmsg=False):
if is_notice and not is_privmsg:

View File

@ -171,9 +171,9 @@ class User(IRCContext):
_messages = defaultdict(list)
def __new__(cls, cli, nick, ident, host, realname, account, **kwargs):
def __new__(cls, cli, nick, ident, host, realname, account):
self = super().__new__(cls)
super(User, self).__init__(nick, cli, **kwargs)
super(User, self).__init__(nick, cli)
self._ident = ident
self._host = host
@ -229,7 +229,10 @@ class User(IRCContext):
return done
def lower(self):
return type(self)(self.client, lower(self.nick), lower(self.ident), lower(self.host), lower(self.realname), lower(self.account), channels, ref=(self.ref or self))
temp = type(self)(self.client, lower(self.nick), lower(self.ident), lower(self.host), lower(self.realname), lower(self.account))
temp.channels = self.channels
temp.ref = self.ref or self
return temp
def is_owner(self):
if self.is_fake: