eq methods usually check the type of the inputs. This could be expected behavior but it breaks convention.
e.g.
"nick" == None
False
"nick" == 1
False
n = irclib.IRCFoldedCase("nick")
n == None
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/pythonbrew/pythons/Python-2.7.2/lib/python2.7/site-packages/irc/client.py", line 1683, in eq
return self.lower() == other.lower()
AttributeError: 'NoneType' object has no attribute 'lower'
n == 1
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/pythonbrew/pythons/Python-2.7.2/lib/python2.7/site-packages/irc/client.py", line 1683, in eq
return self.lower() == other.lower()
AttributeError: 'int' object has no attribute 'lower'</module></stdin></module></stdin>
Fixed in 81593d722733. Thanks for the report.