Signed-off-by: James McCoy <vega.james@gmail.com>
(cherry picked from commit 70a6e6932d2b27dc516aa031fded1afe3359a850)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit ce4d26514b96bf78c7496b28500816913058c3b0)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 5dcbe57fa3acea5db2d40343ca3f9b8116e6e827)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 8fb97c56bc4017c16689d74c113a6bac843fc590)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
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>
(cherry picked from commit 964c73f591f7eafed94d7bcd6dd7b94dbb0afad5)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3165718
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
(cherry picked from commit 01c8dc7f78352c6e11b75b67efa0f816e0881702)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Upstream bug: http://bugs.python.org/issue3932
Rather than override the unescape method with the patch posted, we just convert the page
text to unicode before passing it to the HTMLParser. UTF8 and Latin1 will eat just about
anything.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 44eb449ba41b37f3fa5e9f63575c696f38d4707c)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
When searching for 'st*ke', 'stryker' would incorrectly match, 'stryke' would
be added to the nick set and the subsequent lookup would cause a KeyError.
This is fixed both by anchoring the regexp ('^st.*ke$' instead of 'st.*ke')
and adding searchNick to the nick set instead of the string that matched the
pattern.
Closes: Sf#3377381
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 0cd4939678e5839c85b57460c7c4b000c8fc1751)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit b0e595fbd2e9b244738f4f8b1b5b88831583ad03)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit d56381436c3dc9e574384a3c935ecf18fbb024f7)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Otherwise, when a site would take a long time to respond, the thread would hang for quite a while.
also needed to mod src/utils/web.py to take the timeout arg.
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.
Closes: Sf#3075937
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit cb48912db6d3dec473d73f1cfa3754547034896f)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 074ded49e44903a0699dde194b493c25e7ab2de7)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 154fbc30e9a8a4e4a38ef0847650d7fd24f1862b)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 45abdc82485633d709a0eee98ccef111f4101bef)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Define utils.python.glob2re based on the Python version being used.
Use glob2re in Todo and Note plugins.
Closes: Sf#3059292
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit b0575cec885d2576b7ff5c7b302d4746b7c5a482)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3057517
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit fc2a84fb900bf4c9f7eabbbe3a8c11054c1f56b7)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3058142
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c0e24cef3093f061dc3abde3b80ff69ef68f0520)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
The regular expressions were woefully out of date and since there's not a
stable API (or any for that matter), keeping things working is a losing
battle.
Closes: Sf#3057485
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit c9274606ce0312b9726400fc431c810c93d2aa3c)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3057255
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 7cf61ad04643c3c9f795f06f0886ee25c2923472)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3055991
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 8cc63207681d5973abc108911803af2647d38b55)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3056753
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 452c019b10ab9fccf07ea8857cfcd9eca7013c5d)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Closes: Sf#3056621
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit bc98577fb14932b354f01215de8a9293f9aa4816)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 577294f48942efeda3b5ee09038dc0d1fa51deab)
Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>