When the feed has a specified encoding, we'll be dealing with unicode objects
in the response from feedparser.parse(). To avoid possible UnicodeErrors, we
need to encode() before handing the string off to other functions, so the
other functions are always dealing with bytestrings instead of bytestrings and
unicode objects. Mixing unicode and bytestrings will cause implicit
conversions of the unicode objects, which will most likely use the wrong
encoding.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
Conflicts:
plugins/RSS/plugin.py
When noJoinsUntilIdentified config is true, the bot holds join messages in a 'waitingJoins' list, and processes them
once nickserv identification comes through. The problem was that when the bot is configured to join multiple networks,
join messages from different networks would get appended to the same list, without any differentiation by which message
belongs to which network. Thus, if there are messages waiting for multiple networks, it would often be the case that
whichever network got identification done first, would 'pick up' other network's join messages.
This fix stores the network name along with the join messages in the list, and has each network pick out only its own
join messages.
Conflicts:
src/version.py
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
Conflicts:
plugins/Services/plugin.py
This also fixes a long-standing failing Misc test since it was relying on the
receivedAt tag.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit c90fafebe790f86291e3560938da573ab0f837d4)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
unbans did send the repr() of the ban list, and IrcMsg.__hash__ did try to hash a list.
Conflicts:
src/version.py
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 998819da58aa79858d9d683c345d8dac0f49b721)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3121298
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit f6f9e654cb5801baa05adfe141df640a29dc3c90)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
This also fixes a long-standing failing Misc test since it was relying on the
receivedAt tag.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 4ddfae427f9846c77d72cbb3fe3b6a8cdef658e9)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 5b4c150d037ddfcd7358e00850178a4b60fd44b8)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3430008
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 360a2036ac26d78c3f98db37239da9987f5c326a)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 4833976294805763f7f7ebfd6adaa04864c2b500)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit d6336421e0940120005b73676baf20560f4f8c78)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 4232e40e262cbbdb675b1cf315c43f576d8b1f43)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 3bfda3cc7ac52ff0fd13150f044f9b5b9c4f03e2)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3075891
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit b23480b915682eb35b77bf3b688c731eb7c8d72e)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
At a minimum, the message gives us the server name, ircd version, supported
umodes, and supported channel modes. Add the umodes and channel modes to
self.supported.
Some IRCds (e.g., hybrid and ircd-seven) have an extra arg which seems to be
the channel modes that require arguments.
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit c9e548bdd926f1f4542a5b0121a0b9251706d36b)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3396388
Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit 0869a8e271e9951219dcddd228bec9cb08fc291f)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>