From: wozz Date: Wed, 16 Apr 2014 23:18:07 +0000 (-0400) Subject: Update IRC parsing to avoid errors X-Git-Url: https://git.novaco.in/?p=electrum-server.git;a=commitdiff_plain;h=52f5d527c5f931328aaaf96fa2bb993084d8edfe Update IRC parsing to avoid errors IRC parsing looked at the entire line, which could cause errors --- diff --git a/backends/irc/__init__.py b/backends/irc/__init__.py index 1f58f77..6dfdc5d 100644 --- a/backends/irc/__init__.py +++ b/backends/irc/__init__.py @@ -120,12 +120,12 @@ class IrcThread(threading.Thread): line = line.split() if line[0] == 'PING': out_msg.append('PONG ' + line[1] + '\n') - elif '353' in line: # answer to /names + elif '353' in line[1]: # answer to /names k = line.index('353') for item in line[k+1:]: if item.startswith(self.prepend): out_msg.append('WHO %s\n' % item) - elif '352' in line: # answer to /who + elif '352' in line[1]: # answer to /who # warning: this is a horrible hack which apparently works k = line.index('352') try: @@ -137,7 +137,7 @@ class IrcThread(threading.Thread): host = line[k+9] ports = line[k+10:] self.peers[name] = (ip, host, ports) - elif 'KICK' in line: + elif 'KICK' in line[1]: try: print_log("KICK", line[3] + line[4]) except: