mirror of
https://github.com/jlu5/PyLink.git
synced 2025-01-12 13:12:36 +01:00
Merge handle_part into IRCS2SProtocol (#454)
This commit is contained in:
parent
58a4215690
commit
d01e797219
@ -327,6 +327,28 @@ class IRCS2SProtocol(IRCCommonProtocol):
|
|||||||
self._remove_client(numeric)
|
self._remove_client(numeric)
|
||||||
return {'text': args[0]}
|
return {'text': args[0]}
|
||||||
|
|
||||||
|
def handle_part(self, source, command, args):
|
||||||
|
"""Handles incoming PART commands."""
|
||||||
|
channels = self.toLower(args[0]).split(',')
|
||||||
|
|
||||||
|
for channel in channels:
|
||||||
|
self.channels[channel].removeuser(source)
|
||||||
|
try:
|
||||||
|
self.users[source].channels.discard(channel)
|
||||||
|
except KeyError:
|
||||||
|
log.debug("(%s) handle_part: KeyError trying to remove %r from %r's channel list?", self.name, channel, source)
|
||||||
|
|
||||||
|
try:
|
||||||
|
reason = args[1]
|
||||||
|
except IndexError:
|
||||||
|
reason = ''
|
||||||
|
|
||||||
|
# Clear empty non-permanent channels.
|
||||||
|
if not (self.channels[channel].users or ((self.cmodes.get('permanent'), None) in self.channels[channel].modes)):
|
||||||
|
del self.channels[channel]
|
||||||
|
|
||||||
|
return {'channels': channels, 'text': reason}
|
||||||
|
|
||||||
def handle_time(self, numeric, command, args):
|
def handle_time(self, numeric, command, args):
|
||||||
"""Handles incoming /TIME requests."""
|
"""Handles incoming /TIME requests."""
|
||||||
return {'target': args[0]}
|
return {'target': args[0]}
|
||||||
|
@ -1144,32 +1144,6 @@ class P10Protocol(IRCS2SProtocol):
|
|||||||
# OPMODE is like SAMODE on other IRCds, and it follows the same modesetting syntax.
|
# OPMODE is like SAMODE on other IRCds, and it follows the same modesetting syntax.
|
||||||
handle_opmode = handle_mode
|
handle_opmode = handle_mode
|
||||||
|
|
||||||
def handle_part(self, source, command, args):
|
|
||||||
"""Handles user parts."""
|
|
||||||
# <- ABAAA L #test,#test2
|
|
||||||
# <- ABAAA L #test :test
|
|
||||||
|
|
||||||
channels = self.toLower(args[0]).split(',')
|
|
||||||
for channel in channels:
|
|
||||||
# We should only get PART commands for channels that exist, right??
|
|
||||||
self.channels[channel].removeuser(source)
|
|
||||||
|
|
||||||
try:
|
|
||||||
self.users[source].channels.discard(channel)
|
|
||||||
except KeyError:
|
|
||||||
log.debug("(%s) handle_part: KeyError trying to remove %r from %r's channel list?",
|
|
||||||
self.name, channel, source)
|
|
||||||
try:
|
|
||||||
reason = args[1]
|
|
||||||
except IndexError:
|
|
||||||
reason = ''
|
|
||||||
|
|
||||||
# Clear empty non-permanent channels.
|
|
||||||
if not self.channels[channel].users:
|
|
||||||
del self.channels[channel]
|
|
||||||
|
|
||||||
return {'channels': channels, 'text': reason}
|
|
||||||
|
|
||||||
def handle_kick(self, source, command, args):
|
def handle_kick(self, source, command, args):
|
||||||
"""Handles incoming KICKs."""
|
"""Handles incoming KICKs."""
|
||||||
# <- ABAAA K #TEST AyAAA :PyLink-devel
|
# <- ABAAA K #TEST AyAAA :PyLink-devel
|
||||||
|
@ -353,25 +353,6 @@ class TS6BaseProtocol(IRCS2SProtocol):
|
|||||||
return {'channel': channel, 'setter': numeric, 'text': topic,
|
return {'channel': channel, 'setter': numeric, 'text': topic,
|
||||||
'oldtopic': oldtopic}
|
'oldtopic': oldtopic}
|
||||||
|
|
||||||
def handle_part(self, source, command, args):
|
|
||||||
"""Handles incoming PART commands."""
|
|
||||||
channels = self.toLower(args[0]).split(',')
|
|
||||||
for channel in channels:
|
|
||||||
# We should only get PART commands for channels that exist, right??
|
|
||||||
self.channels[channel].removeuser(source)
|
|
||||||
try:
|
|
||||||
self.users[source].channels.discard(channel)
|
|
||||||
except KeyError:
|
|
||||||
log.debug("(%s) handle_part: KeyError trying to remove %r from %r's channel list?", self.name, channel, source)
|
|
||||||
try:
|
|
||||||
reason = args[1]
|
|
||||||
except IndexError:
|
|
||||||
reason = ''
|
|
||||||
# Clear empty non-permanent channels.
|
|
||||||
if not (self.channels[channel].users or ((self.cmodes.get('permanent'), None) in self.channels[channel].modes)):
|
|
||||||
del self.channels[channel]
|
|
||||||
return {'channels': channels, 'text': reason}
|
|
||||||
|
|
||||||
def handle_svsnick(self, source, command, args):
|
def handle_svsnick(self, source, command, args):
|
||||||
"""Handles SVSNICK (forced nickname change attempts)."""
|
"""Handles SVSNICK (forced nickname change attempts)."""
|
||||||
# InspIRCd:
|
# InspIRCd:
|
||||||
|
Loading…
Reference in New Issue
Block a user