Commit Graph

3420 Commits

Author SHA1 Message Date
Valentin Lorentz 774158f2ec utils/web.py: Fix compatibility with Python 3. 2013-06-17 04:10:29 +00:00
Valentin Lorentz cca1e6dba5 utils/web.py: Add some 'try' statements to make decoding as error-permissive as possible. 2013-06-13 17:22:33 +00:00
Valentin Lorentz 2eec980c8e utils/web.py: Python 3 should use decode() only if it is a bytes object. 2013-06-13 04:22:20 +00:00
Valentin Lorentz a82ad9cb1a utils/web.py: Properly import chardet. 2013-06-12 17:38:50 +00:00
Valentin Lorentz e24ab4501d Fix bug with Python 3.3 (?) 2013-06-06 05:49:25 +00:00
Valentin Lorentz 43563bcc1c core & Factoids: Allow commands to disable doc-availability checks for programmatically setting it. 2013-06-01 17:13:55 +02:00
Valentin Lorentz f82a7c7e17 Issue error message at plugin load if a command has no docstring. 2013-06-01 16:35:47 +02:00
Valentin Lorentz 8aba15807d Socket: Assert 'irc' is not None. 2013-06-01 12:08:12 +02:00
Valentin Lorentz 74db03177f httpserver: Explicitely define the charset. 2013-06-01 10:32:36 +02:00
Valentin Lorentz 1a71fa2d81 httpserver: Fix Content-type of default.css which caused the stylesheet not to be applied. 2013-06-01 10:11:54 +02:00
Valentin Lorentz 792df99688 httpserver: Fix design. 2013-05-31 17:55:56 +02:00
Valentin Lorentz b2d5544ccf httpserver: Fix restarting the server once a plugin has been unloaded and loaded back. 2013-05-31 17:55:35 +02:00
Valentin Lorentz 2016983d35 Add supybot.utils.net.getAddressFromHostname() and improve Socket driver to try successively all IP addresses. 2013-05-31 17:21:10 +02:00
Valentin Lorentz 9ea1019970 httpserver: Fix issue with Python 2 if no favicon is set. 2013-05-31 16:12:49 +02:00
Valentin Lorentz cefd91d4f1 Fix encoding issues with Alias containing non-ascii characters. 2013-05-31 15:42:57 +02:00
Valentin Lorentz ad25f17639 RSS: Add Python 3 support. 2013-05-29 15:16:23 +02:00
Valentin Lorentz 2d4914bc99 Merge branch 'gpgauth' into testing
Conflicts:
	src/ircdb.py
2013-05-24 17:20:27 +02:00
Valentin Lorentz ba6e2fff6f ircmsgs.IrcMsg: Display args in case of AssertionError. 2013-05-21 19:38:55 +02:00
Valentin Lorentz c56f26b91d Wrap now internationalizes docstrings. 2013-05-20 17:52:41 +02:00
Valentin Lorentz 66025cf7e4 New syntax for wrap(). Now supports being used as a Python decorator with arguments.
For example, in Admin, "join = wrap(join, ['validChannel', additional('something')])" could become "@wrap(['validChannel', additional('something')])".
2013-05-20 17:40:04 +02:00
Valentin Lorentz 9e1cf727e3 Network: Add @whowas. Closes GH-227. 2013-05-18 14:46:58 +02:00
Valentin Lorentz 6493be1f13 httpserver: Add doctype. 2013-05-17 20:13:46 +02:00
Valentin Lorentz 1090c4623f Factoids: Add supybot.plugins.Factoids.requireVoice. Closes GH-378. 2013-05-17 17:47:43 +02:00
Valentin Lorentz ed62c9efb1 commands.py: Rename 'isGranted' to 'haveHalfop+' and add 'haveVoice+'. 2013-05-17 17:36:11 +02:00
Valentin Lorentz f42023bf19 Fix SupyTestCase.assert* with Python 2.6. 2013-05-15 18:52:56 +02:00
Valentin Lorentz 04b7d9eeda Fix compatibility with Python 3.3.1. 2013-05-14 19:59:19 +02:00
Valentin Lorentz 6ffcf122a7 Remove code specific to Python 2.{3,4,5}. 2013-05-13 15:27:26 +02:00
Valentin Lorentz 8d95a424b0 Fix fetch of RSS feeds containing unicode. 2013-05-13 10:51:24 +02:00
Valentin Lorentz 3935152d65 Fix 'dictionary changed size during iteration'. 2013-05-10 23:55:48 +02:00
Valentin Lorentz cb6139e110 Fix typo. 2013-05-10 23:22:23 +02:00
Valentin Lorentz 3b179ec304 Apparently, Python 3.3 does not like sys.modules to be reassigned. 2013-05-10 23:20:02 +02:00
Valentin Lorentz 9553798c90 sys.modules is a dict, not a list (again). 2013-05-10 22:23:57 +02:00
Valentin Lorentz ee1d8731c9 sys.modules is a dict, not a list. 2013-05-10 22:08:59 +02:00
Valentin Lorentz e787f3343e Fix typo. 2013-05-10 22:03:15 +02:00
Valentin Lorentz 3570acff72 Fix plugin load if previous (re)load failed. 2013-05-10 17:55:56 +02:00
Valentin Lorentz 8f6063135e Add supybot.abuse.flood.interval. 2013-05-09 09:40:55 +02:00
Valentin Lorentz c133d973aa Revert "Fix typo."
This reverts commit 390af5d049.

Conflicts:
	locales/fr.po
2013-05-01 05:53:20 +00:00
Valentin Lorentz caf255afd9 Internationalize string-handling functions in src/utils/.
This commit was supposed to be before the two previous ones, but I messed up with Git.
2013-04-21 16:00:31 +02:00
Valentin Lorentz d8df5cc650 Misc: Fix ignoring of user flooding with invalid commands in private. 2013-04-20 08:19:16 +00:00
Valentin Lorentz 390af5d049 Fix typo. 2013-04-18 07:45:08 +00:00
Valentin Lorentz d13015dfb5 Fix tests with Travis. 2013-04-11 19:09:50 +02:00
Valentin Lorentz 7a71ecb9f9 Misc: Add supybot.plugins.Misc.mores. 2013-04-10 17:26:55 +02:00
Valentin Lorentz f4bf62ab6b ircmsgs: Fix typo. 2013-04-06 16:04:56 +00:00
Valentin Lorentz 856a65c9f6 Add irc.state.ircd. 2013-03-31 21:22:59 +02:00
Valentin Lorentz 8e1929d1b4 Fix previous commit. 2013-03-27 17:01:42 +01:00
Valentin Lorentz 23e84cfff9 Join all channels in one message when connecting. 2013-03-27 16:55:45 +01:00
Valentin Lorentz ddd8314884 Socket: Close the socket more nicely. 2013-03-27 16:32:26 +01:00
Valentin Lorentz 916a85c965 core: Various Python 3 compatibility fixes. 2013-03-25 19:15:08 +01:00
Valentin Lorentz 9a23ba1cfa Fix traceback if supybot.errors.noCapability does not contain %s. 2013-03-24 07:51:55 +00:00
Valentin Lorentz 574d73c14e Fix RFC-compliance of privmsgs/notices/kicks/whois/... with list of nicks/channels are argument. Closes GH-462. 2013-03-23 11:06:08 +01:00
Valentin Lorentz 5209cbc402 Prevent crash of httpserver in some requests. (Why? No idea.) 2013-03-21 17:31:53 +00:00
Valentin Lorentz cac96aa5f7 Socket: Fix race condition in SSL handshakes. 2013-03-21 17:21:20 +00:00
Valentin Lorentz 881eb9f771 Fix commit b90bd4b9d9. 2013-03-12 19:36:08 +01:00
Valentin Lorentz 24252bc69f httpserver: Enhance design + customable CSS. Closes GH-404. 2013-03-11 19:44:26 +01:00
Valentin Lorentz c4b9c80198 httpserver: Use new algorithm to load default templates. 2013-03-11 16:38:21 +01:00
Valentin Lorentz 83dd3a2fe8 Create config variable supybot.directories.data.web, and move robots.txt to this directory. 2013-03-09 20:52:35 +01:00
Valentin Lorentz d714909576 Use non-sexist language in strings and comments. 2013-03-08 20:34:31 +01:00
Valentin Lorentz be04677995 Fix typo in a comment. 2013-03-08 20:26:50 +01:00
Valentin Lorentz 8444e76468 Fix decoding of strings in ircmsgs. Thanks to monodemono. 2013-02-25 11:37:15 +00:00
Valentin Lorentz 7f2d38b885 Socket: Fix compatibility with Python 3.1. 2013-02-22 20:43:27 +00:00
Valentin Lorentz b90bd4b9d9 Fix previous commit (again). 2013-02-09 19:37:10 +01:00
Valentin Lorentz c918074b92 Fix previous commit. 2013-02-09 19:16:23 +01:00
Valentin Lorentz 48ba761644 Decode unicode string passed to ircmsgs.*. Closes GH-448. 2013-02-09 18:55:02 +01:00
Valentin Lorentz 4754df2dbd Merge pull request #446 from nyuszika7h/testing
Fix SASL on py3k + minor change in supybot-botchk
2013-02-07 12:09:33 -08:00
Valentin Lorentz ef08ea1930 Fix debug logging in some (weird) cases. 2013-02-07 18:34:29 +01:00
nyuszika7h 15796454cf Merge remote-tracking branch 'progval/testing' into testing 2013-02-05 18:42:26 +01:00
nyuszika7h e491e14bc3 Final fix for SASL and py3k 2013-02-03 18:50:20 +01:00
Valentin Lorentz d753df9d0c Print extra debug data in the logs. 2013-02-03 17:46:39 +01:00
nyuszika7h 4170a873b2 Fix previous commit (yet again) 2013-02-03 15:58:45 +01:00
nyuszika7h 66e46e5143 Fix previous commit (again) 2013-02-03 15:30:28 +01:00
nyuszika7h 4b10ea3329 Fix previous commit 2013-02-03 15:14:03 +01:00
nyuszika7h f1198fb4e8 irclib.py: Fix SASL on py3k 2013-02-03 15:08:36 +01:00
Valentin Lorentz 20ad495483 src/test.py: Why would a test server create a socket? 2013-02-02 19:51:47 +01:00
Valentin Lorentz 13a633eea4 Prevent traceback if supybot.replies.genericNoCapability is empty. 2013-02-02 19:47:14 +01:00
Valentin Lorentz 05d23d1a06 Remove unreachable code. 2013-02-02 19:47:05 +01:00
Valentin Lorentz 77f614be86 utils.web.HtmlToText: Convert html entities. 2013-02-01 20:50:46 +01:00
Valentin Lorentz fa36e48075 core: Document irclib.Irc.addCallback. 2013-02-01 20:38:53 +01:00
Valentin Lorentz 75f19a9f50 core: Add docstring to commands.wrap. 2013-02-01 20:38:18 +01:00
Valentin Lorentz 39b534246f Fix http server's tests. 2013-02-01 20:38:01 +01:00
Valentin Lorentz b589c2dc2b core: Document IrcMsg tags. 2013-01-31 20:48:16 +01:00
Valentin Lorentz 9507bf1655 Remove non-ascii char (again). 2013-01-31 20:47:57 +01:00
Valentin Lorentz bab69bb31e Remove useless non-ascii character. 2013-01-31 19:24:05 +01:00
Valentin Lorentz 7588472f36 Fix 'Transport endpoint not connected' errors. Closes GH-437. 2013-01-31 16:47:17 +01:00
Valentin Lorentz 2ace534bdb utils.str: Prevent issue with tokens like '\x80' in Python 3. 2013-01-23 15:48:24 +01:00
Valentin Lorentz 6c0497d34e Fix traceback when utils.str.dqrepr is given a unicode object. 2013-01-23 13:53:37 +01:00
Valentin Lorentz 30c5519acb Final encoding fix. It now work on IRC and unit tests pass, both with Python 2 & 3. 2013-01-22 21:02:04 +01:00
Valentin Lorentz a4a595b39a Partial fix of encoding handling.
This fixes mostly everything, except a little bit from the test framework. I'm just saving this in case my computer or I is destroyed in an alien invasion, because this commit is worth hours of debugging.
2013-01-22 20:35:11 +01:00
Valentin Lorentz 164d85d9fe core: Fix the test framework after update of the HTTP server. 2013-01-21 20:20:26 +01:00
Valentin Lorentz 84a87e4307 Merge pull request #442 from Athemis/master
Follow-up of pull-request #440
2013-01-20 11:03:19 -08:00
Alexander Ralph Michael Minges bbdd55bea2 Add fallback decoding if chardet fails to guess the correct encoding 2013-01-20 17:07:58 +01:00
Valentin Lorentz 6d15d263f0 Merge remote-tracking branch 'athemis/master' into testing 2013-01-20 15:16:53 +01:00
Valentin Lorentz d809db2cc6 Fix bold of 'getpass' question. Closes GH-426. 2013-01-20 12:39:36 +01:00
Alexander Ralph Michael Minges 4316e5936e Use chardet to guess the character encoding when on python3 2013-01-15 20:55:42 +01:00
Valentin Lorentz c1f19b3353 Fix locales path resolution with Python 3. 2013-01-11 18:29:04 +01:00
Valentin Lorentz 726558115d core: Prevent infinite recursion with Pypy. 2013-01-06 20:24:02 +01:00
Valentin Lorentz a5292ae3b4 core: Fix issue with Python 2.6 (cStringIO is buggy). 2013-01-06 11:34:32 +01:00
Valentin Lorentz 52e91d5f9c src/test.py: Implement assertIn for old Python versions. 2013-01-05 21:16:30 +01:00
Valentin Lorentz 2bcffdf523 src/test.py: Implement assertIs for old Python versions. 2013-01-05 21:13:36 +01:00
Valentin Lorentz fdb7a764d4 core & Filter & Owner: Fix Python 2.6 compatibibility. 2013-01-05 20:51:36 +01:00
Valentin Lorentz e3e2b23215 src/test.py: Encode strings only if they are not already using unicode. 2013-01-05 20:04:46 +01:00
Valentin Lorentz bc7051e515 core: Fix tests of plugins using user id for checking capabilities. 2013-01-05 19:06:49 +01:00
Valentin Lorentz 7edbb7b6c3 core: Fix tests using invalid hostmask. 2013-01-05 17:27:20 +01:00
Valentin Lorentz fe39d35b2f core: Fix normalizeWhitespace handling of new lines. 2013-01-04 22:28:44 +01:00
Valentin Lorentz 29e13a9061 Fix 'more' wrapping for long words; bug introduced in 169392e5. 2013-01-04 22:16:08 +01:00
Valentin Lorentz e86768b61a Misc: Fix testTell. 2013-01-04 22:01:36 +01:00
Valentin Lorentz 28dc3dd3ac core: Fix normalizeWhitespace. 2013-01-04 20:25:25 +01:00
Valentin Lorentz 3dba9088b0 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	INSTALL
	plugins/ChannelLogger/README.txt
	plugins/ChannelStats/README.txt
	plugins/Google/plugin.py
	plugins/Google/test.py
	plugins/Plugin/test.py
	plugins/Web/test.py
	setup.py
	src/callbacks.py
	src/ircdb.py
	src/irclib.py
	src/utils/str.py
	test/test_irclib.py
2013-01-01 21:11:24 +01:00
James McCoy 295f9b1f0d Make utils.str.soundex perform better when length is large
Closes: Sf patch#148
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-12-31 17:29:02 -05:00
Valentin Lorentz 79eeb8eb95 Revert "irclib: Apply changes to supybot.protocols.irc.maxHistoryLength immediately."
This reverts commit 1d2eefe880.

IrcState instances are created more than five times a second! Imagine how much
memory is used (hint: 300MB five minutes after startup).
We should first try to reduce this amount.
2012-12-27 16:06:01 +00:00
Valentin Lorentz 1d2eefe880 irclib: Apply changes to supybot.protocols.irc.maxHistoryLength immediately. 2012-12-27 12:24:24 +00:00
Valentin Lorentz cab1830140 utils.structures: Prevent a RingBuffer from being bigger than the new size, when calling resize(). 2012-12-27 12:22:14 +00:00
Valentin Lorentz 7b3ef56116 Fix mysterious bug when connecting/disconnecting. 2012-12-26 19:58:39 +01:00
Valentin Lorentz 6cbc6a14dd Rename all 'locale' directories to 'locales'.
Firstly, these directories contains more than one locale. Secondly, it conflicts with the 'locale' python module.
2012-12-26 15:43:35 +01:00
Valentin Lorentz 84148988b3 Fix tests broken by 6a06ca991. 2012-12-26 15:37:52 +01:00
Valentin Lorentz 790f0eea35 socket: Fix compatibility issue with Python 3 (introduced in 8cf094a). 2012-12-26 15:03:57 +01:00
Valentin Lorentz 6a06ca9911 core: Initialize list of bans when joining a channel. 2012-12-23 17:19:25 +01:00
Valentin Lorentz 097ea23dfc Fix handling of PluginNotFoundException in i18n. 2012-12-22 00:06:26 +00:00
Valentin Lorentz d58ad0c86f Reload translation of command helps when language changes. 2012-12-21 20:08:34 +01:00
Valentin Lorentz 989c674c58 Reset translation dict when reloading a locale. 2012-12-21 19:19:03 +01:00
Valentin Lorentz 30c56ae19f Add support for arguments to addPeriodicEvent callbacks. 2012-12-19 19:48:46 +01:00
Valentin Lorentz 97b48abaa2 i18n: Initialize translations in __init__. 2012-12-19 17:04:39 +00:00
Daniel Folkinshteyn 620a90f4a7 core: make network.channels and channel keys private by default. Otherwise these can reveal secret information. 2012-12-18 18:37:11 +01:00
Valentin Lorentz 72bc227e1b registry: Fix Json unserialization. 2012-12-15 22:00:23 +01:00
Valentin Lorentz ad3f58efc2 Add the content of the new value of a config var, when it is not compatible with this config type. 2012-12-12 18:47:03 +01:00
Valentin Lorentz d9f7e0e818 Add editable() method to registry.Json. 2012-12-08 21:13:54 +01:00
Valentin Lorentz d8bd1f6f92 Add registry.Json. 2012-12-08 20:59:36 +01:00
Valentin Lorentz 4e8c35dd0c Add context() method to registry.Value objects. Closes GH-430.
This method returns a context objet, for use with the 'with' statement.
2012-12-08 20:05:51 +01:00
Valentin Lorentz 69c60ca1f5 Remove debug output. 2012-12-08 05:16:00 +00:00
Valentin Lorentz 8cf094a628 Socket: Use select.select() instead of checking sockets one by one. Closes GH-431. Closes GH-420. 2012-12-07 21:41:50 +01:00
Valentin Lorentz 7d22d3dc36 Prevent NameError if ssl module can't be imported. 2012-12-07 01:48:05 +00:00
Valentin Lorentz 93586d71f4 Add support for extended banmasks. Closes GH-105. 2012-12-02 19:04:48 +01:00
Valentin Lorentz d9f2235aed callbacks.py: Fix error with commands like @echo "¡". 2012-11-07 19:20:26 +01:00
Valentin Lorentz 25855e5547 Fix crash when loading user with two nicks or more. 2012-11-07 19:00:41 +01:00
Daniel Folkinshteyn 910ad6dd62 core: make network.channels and channel keys private by default. Otherwise these can reveal secret information.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-11-04 19:43:36 -05:00
Valentin Lorentz 5f1c21c644 Remove temporary files. 2012-11-04 01:29:37 +01:00
Valentin Lorentz e9755a6486 Add fix missing in previous commit. 2012-11-04 01:28:24 +01:00
Valentin Lorentz ac13d09511 conf.py: Prevent traceback if server address is an IPv6 address.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-11-03 14:48:16 -04:00
Valentin Lorentz 59d6d4da03 commands.py: Fix name conflict. 2012-10-29 20:16:08 +01:00
Valentin Lorentz fba70d15bc Add configuration variable conf.supybot.capabilities.private.
This variable is a list of capabilities that are considered as 'private',
ie. the bot won't tell anyone but admins that a user has it, nor will the
bot give a list of users with this capability.
2012-10-29 20:15:14 +01:00
Valentin Lorentz 929090c279 conf.py: Prevent traceback if server address is an IPv6 address. 2012-10-27 17:59:05 +02:00
Valentin Lorentz 8062d9592c Change the minimal number of non-wildcard characters in hostmask from 8 to 3. Closes GH-276.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-24 01:36:19 -04:00
James McCoy c774be3ea6 commands: Add process and regexp_wrapper to __all__
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-24 00:23:25 -04:00
James McCoy 90b7f3cd4e utils.web: Simplify getUrlFd by using standard parse methods
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-23 17:06:30 -04:00
Valentin Lorentz 85eb0b4b0d Fix 3a78300971. 2012-10-23 16:15:13 +00:00
James McCoy 6ab807be43 utils.net: Use _ipAddr and _domain from utils.web to define emailRe
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-20 19:43:11 -04:00
Valentin Lorentz db3746d122 Add support for authentication scheme.
This commit closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690879

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-20 19:42:15 -04:00
Valentin Lorentz 7d87d422e1 Fix detection of .42 domains
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-20 19:15:05 -04:00
Daniel Folkinshteyn dfdfd00b04 core: make sure owner is never ignored. also simplify the logic flow in ignore checking.
Thanks m4v for the patch!

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-20 15:11:23 -04:00
Daniel Folkinshteyn 18ec61842c Secure some more commands which take a regexp from untrusted user input.
Namely todo.search, note.search, dunno.search.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-20 15:06:43 -04:00
Valentin Lorentz 3a78300971 Add support for authentication scheme.
This commit closes http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=690879
2012-10-20 20:23:32 +02:00
Valentin Lorentz d3da0c2efc commands.py: Add 'channelOrGlobal' converter. 2012-10-18 19:30:35 +02:00
Daniel Folkinshteyn 6a9af819a3 src/commands.py: make subprocesses raise an error on timeout, rather than return a string
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 22:14:15 -04:00
Daniel Folkinshteyn f310350335 Web: add 'timeout' config for web fetch, default 5 sec.
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.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 22:10:56 -04:00
Daniel Folkinshteyn a5ec33adeb Make plugin loading/reloading case-insensitive.
Since load/reload was the only place where case mattered for plugins, and it tripped up
a lot of new users, this should be a nice bit of usability improvement.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 21:51:00 -04:00
Daniel Folkinshteyn 9fc7ec28b4 Fix error handling for subprocesses.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 21:44:04 -04:00
Daniel Folkinshteyn 141b120a9c commands.process: return immediately when terminating process, without having to deal with the queue.
otherwise, we have to block for $smalldelay between putting and getting the item, since queue putting is not instantaneous
and sometimes we would get 'nothing returned' instead of the timeout message.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 21:32:54 -04:00
Daniel Folkinshteyn 7f98aa7105 Some improvements to the commands.process function - better process naming and informational output.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 21:28:41 -04:00
Daniel Folkinshteyn a2985c37d6 Create a commands.process function which runs a function inside a separate process.
This is the only way to limit the execution time of a possibly long-running python statement.
Use this on String.re, due to the possibility of pathologically long re matching in python.
This allows us to remove the 'trusted-only' restriction on string.re.
In the future, this should probably be used in other places that take user-supplied regexps,
such as 'misc last --regexp', for example, as well as other potentially long-running tasks
that can block the bot.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-15 21:19:34 -04:00
Daniel Folkinshteyn 6025f7364c core: force inet_aton argument to string to prevent occasional error on reconnect.
it /should/ always be a string anyway, but sometimes things break with
a TypeError that it is an int instead of the expected string and hangs
up the bot.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-14 12:21:56 -04:00
Valentin Lorentz 6b881d6509 Socket driver: Apply supybot.drivers.poll as soon as modified (do not require reconnect). 2012-10-10 19:39:28 +02:00
Valentin Lorentz 42957a6a69 Socket driver: Fix typo. 2012-10-07 13:55:01 +02:00
Valentin Lorentz 156b3d93e1 Socket driver: Add support for Socks proxies. 2012-10-07 13:13:08 +02:00
Valentin Lorentz 364a3e50e8 src/ircmsgs.py: Assert string parameters are actually strings.
This prevents a plugin from sending another object and messing with outFilter methods of other plugins.
2012-10-06 21:12:40 +00:00
James McCoy 0b81b170ca Indicate supybot.networks.$network.servers/channels are space-separated lists in their help
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-10-04 21:41:00 -04:00
Valentin Lorentz 784b8c37f8 httpserver: Add support for multiple hosts and IPv6. Closes GH-387. 2012-09-30 18:54:30 +02:00
Valentin Lorentz c77c513e24 httpserver.py: Replace weird space by regular one. 2012-09-19 18:59:44 +00:00
James McCoy cef93a6cfd Use relative imports for all packages under the supybot namespace
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-17 22:12:11 -04:00
skizzhg 84931cd0ea conf.py: Fix typo. 2012-09-10 18:10:18 +02:00
Valentin Lorentz f63148849c src/test.py: Fix encoding issues with assertResponse being given an utf8 string. 2012-09-10 17:04:57 +02:00
James McCoy 45329fbdce schedule: Allow arguments for scheduled functions, lock before modifying heap
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-08 16:02:30 -04:00
Daniel Folkinshteyn 5bb6fdcd52 core: avoid casting data to string if it is already an instance of basestring, in irc.reply.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-05 20:11:53 -04:00
Valentin Lorentz eaf6877700 httpserver: Add favicon support. 2012-09-03 10:35:54 +02:00
James McCoy 82ecf36fcd Update my name/contact information
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-09-01 10:16:48 -04:00
James McCoy 232aa86a1e Merge branch 'maint/0.83.4' 2012-09-01 09:13:52 -04:00
Daniel Folkinshteyn 2c051bab9f core: force inet_aton argument to string to prevent occasional error on reconnect.
it /should/ always be a string anyway, but sometimes things break with
a TypeError that it is an int instead of the expected string and hangs
up the bot.
2012-08-30 11:32:48 +02:00
James McCoy c74e8f35ab Fix regression in parsing 004 messages
This was introduced in commit 4232e40e26

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-08-26 12:59:41 -04:00
Valentin Lorentz d2ab53cd19 Fix parsing of 004 message. (Broken in d9531d2d). 2012-08-25 20:17:15 +02:00
Valentin Lorentz 3739def69d Merge branch 'py3k-backport' into testing 2012-08-13 13:01:58 +00:00
Valentin Lorentz d2b33a3794 Fix compatibility with Python 2.6. 2012-08-13 13:01:50 +00:00
Valentin Lorentz 5dfba06aae Prevent irc.replies from replying in private since fc9daa9. 2012-08-10 13:10:14 +00:00
Valentin Lorentz fc9daa9953 Make supybot.reply.oneToOne channel-specific. 2012-08-10 12:27:25 +00:00
Valentin Lorentz 19708c55cc Fix typo in 5f94da8660. 2012-08-08 19:51:11 +00:00
Valentin Lorentz 45bf9db03c Merge branch 'py3k-backport' into testing
This branch provides support of Python 3 via 2to3 (without dropping
Python 2 support).
2012-08-08 21:46:29 +02:00
Valentin Lorentz 5f94da8660 Fix test.assertHelp for commands with long help (XX more messages). 2012-08-08 21:41:25 +02:00
Valentin Lorentz e3d170d9fe Add support for network-specific umodes. 2012-08-06 15:59:00 +02:00
Valentin Lorentz 3dc8e04195 utils.web.urlencode: Encode data into bytes. 2012-08-05 16:57:40 +02:00
Valentin Lorentz 1b6be5842f src/cdb.py: Use 'future' division and decode/encode data from/to the disk. 2012-08-05 16:57:18 +02:00
Valentin Lorentz 535593d555 src/dbi.py: Use open() instead of file(). 2012-08-05 16:56:07 +02:00
Valentin Lorentz 14200e002a Rename cdb.open to cdb.open_db and open cdb files in binary mode. 2012-08-05 15:47:30 +02:00
Valentin Lorentz 0e450a5eff src/callbacks.py: Use unicode_escape if running Python 3. 2012-08-05 14:22:53 +02:00
Valentin Lorentz 089be4c8a5 src/i18n.py: Use 'str' as a base class instead of 'unicode'. 2012-08-05 13:48:11 +02:00
Valentin Lorentz 041893aaf9 Socket driver: encode strings just before sending them. 2012-08-05 13:47:48 +02:00
Valentin Lorentz 306105abad src/i18n.py: Fix encoding issue with Python 3. 2012-08-05 13:37:37 +02:00
Valentin Lorentz f1165333e5 src/registry.py: Fix encoding issues with Python 3. 2012-08-05 13:28:16 +02:00
Valentin Lorentz 32a7da6f51 Add 2to3 fixer to process utils.gen.IterableMap correctly. 2012-08-05 12:32:57 +02:00
Valentin Lorentz 393f78c573 Use a boolean instead of hacky reference comparison in utils.iter.choice. 2012-08-05 09:59:42 +02:00
Valentin Lorentz 4ffaff0638 Don't use utils.str.chars anymore. 2012-08-05 09:54:34 +02:00
Valentin Lorentz 0c99a65afa src/conf.py: Use classic comparison instead of str.translate. 2012-08-04 22:47:16 +02:00
Valentin Lorentz 0b7e4e5ce5 src/registry.py: Fix encoding issue with Python 3. 2012-08-04 22:46:52 +02:00
Valentin Lorentz e89dcf867a Remove unused import of UserDict. 2012-08-04 22:39:22 +02:00