Commit Graph

3668 Commits

Author SHA1 Message Date
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
Valentin Lorentz
fff9b837fb Import ifilter from itertools instead of utils.iter. 2012-08-04 22:38:11 +02:00
Valentin Lorentz
1a64f1052a Use MultipleReplace for utils.str.soundex. 2012-08-04 22:36:40 +02:00
Valentin Lorentz
9edda206ea Remove utils.str.chars. 2012-08-04 22:33:08 +02:00
Valentin Lorentz
3838ab5314 Remove unused imports of new. 2012-08-04 22:31:59 +02:00
Valentin Lorentz
ced2e7b72d Implement seed, tell, and flush to AtomicFile. 2012-08-04 21:24:17 +02:00
Valentin Lorentz
7f0e1115b5 Make world.py py3k-friendly. 2012-08-04 18:06:49 +02:00
Valentin Lorentz
c4dfa55d65 Use HTMLParser instead of deprecated sgmllib in utils.web. 2012-08-04 18:02:45 +02:00
Valentin Lorentz
9ae90c3869 Make utils.structures.CacheDict subclass collections.MutableMapping instead of deprecated UserDict.DictMixin. 2012-08-04 17:46:28 +02:00
Valentin Lorentz
6514db9b3f Prevent name clashes in utils.structures. 2012-08-04 17:42:08 +02:00
Valentin Lorentz
452c706092 Make utils.str.perlRoToReplacer less ambiguous. 2012-08-04 17:36:15 +02:00
Valentin Lorentz
8af6761275 Use 'unicode_escape' in utils.str.dqrepr if running Python 3. 2012-08-04 17:33:17 +02:00
Valentin Lorentz
0a4a12243d Prevent name clash in utils.iter.startswith. 2012-08-04 17:26:59 +02:00
Valentin Lorentz
b8fe420ef3 Use 'ast' instead of 'compiler' in utils.gen.safeEval. 2012-08-04 17:24:08 +02:00
Valentin Lorentz
d3d93da602 utils.gen.saltHash: encode string before hashing it. 2012-08-04 17:12:23 +02:00
Valentin Lorentz
ab978a8c31 Remove utils/gen.py dependency on deprecated libraries (new and UserDict). 2012-08-04 17:09:32 +02:00
Valentin Lorentz
caaf290c9b utils/gen.py: Import imap from itertools instead of utils.iter. 2012-08-04 17:03:51 +02:00
Valentin Lorentz
9de7316f02 Change utils.file.AtomicFile into a wrapper instead of a subclass. 2012-08-04 17:01:36 +02:00
Valentin Lorentz
174a5a4b1f Encode strings before hashing them in utils.file.mktemp. 2012-08-04 16:39:33 +02:00
Valentin Lorentz
54917f581a Drop dependency on deprecated httplib.HTTP in test framework. 2012-08-04 16:32:15 +02:00
Valentin Lorentz
b5c99b1ce1 Fix capability checks. 2012-08-04 15:57:51 +02:00
Valentin Lorentz
8211aab92e Fix issue typo in schedule.removeEvent. 2012-08-04 15:57:47 +02:00
Valentin Lorentz
4bf39f773f Use the codecs module in src/registry.py. 2012-08-04 15:48:30 +02:00
Valentin Lorentz
69c18aed08 Make NonExistentRegistryEntry subclass AttributeError. 2012-08-04 15:11:45 +02:00
Valentin Lorentz
7d73a7dc0a src/questions.py: Don't use the 'is' operator to compare strings. 2012-08-04 15:05:04 +02:00
Valentin Lorentz
b338c54592 src/log.py: Support for Python 3 logging module. 2012-08-04 15:04:43 +02:00
Valentin Lorentz
fa8950b4a4 Make type checks in ircutils.safeArgument compatible with Python 3. 2012-08-04 14:52:17 +02:00
Valentin Lorentz
66e4243a14 Use 'future' division in src/ircutils.py. 2012-08-04 14:18:53 +02:00
Valentin Lorentz
df2d976818 Use utils.str.MultipleReplacer instead of str.maketrans. 2012-08-04 14:04:15 +02:00
Valentin Lorentz
602f1c7ecb utils/str.py: Use classes Multiple* instead of lambda functions.
As in Python 3, functions are bound to a class when assigned to an attribute,
lambda functions get two parameters, unless they are decorated with classmethod().
And there is no reason to ask plugin developpers use this decorator, while we
avoid them doing this (more over, it is not obvious to debug if they forgot it).
2012-08-04 13:52:02 +02:00
Valentin Lorentz
17eb6c497f ircmsgs: use classic comparisons instead of str.translate to ensure channel key validity. 2012-08-04 13:31:26 +02:00
Valentin Lorentz
e23fa611d6 Call other.__eq__ in irclib.Irc.__eq__ instead of using the == comparator.
Here, this operator is not reflexive, and Python 3 calls the second members resulting in a stack overflow.
2012-08-04 13:25:47 +02:00
Valentin Lorentz
1cb657ddb2 Import imap directly from itertools instead of utils.iter. 2012-08-04 13:21:37 +02:00
Valentin Lorentz
d52e501ae8 Use open() instead of file(). 2012-08-04 13:13:16 +02:00
Valentin Lorentz
505fd580f8 Use unicode in src/i18n.py 2012-08-04 12:09:11 +02:00
Valentin Lorentz
d28fa0cbdf Make Socket driver compatible with py3k. 2012-08-04 12:00:02 +02:00
Valentin Lorentz
139f5b4943 Make src/callbacks.py more py3k-friendly. 2012-08-04 11:38:12 +02:00
Valentin Lorentz
fa35a07941 Add utils.str.multipleRemover. 2012-08-04 11:27:50 +02:00
Valentin Lorentz
fffccb4600 Add utils.str.multipleReplacer. 2012-08-04 11:27:41 +02:00
Valentin Lorentz
cd0bfe411a Make gpg key adding/removal work. 2012-08-03 23:22:53 +02:00
Valentin Lorentz
21409af405 Revert "Add ° as a prefix character."
This reverts commit 0af7d791cc.
° is differently encoded in unicode and latin1.
2012-08-02 13:26:44 +00:00
Valentin Lorentz
0af7d791cc Add ° as a prefix character. 2012-08-02 13:15:50 +00:00
Valentin Lorentz
fa67967b09 And commands to add/remove GPG keys. 2012-08-02 09:21:58 +02:00
Valentin Lorentz
ef78c86974 Add configuration variable supybot.reply.format.url. 2012-07-31 13:12:33 +00:00
Valentin Lorentz
19a8df5b46 Fix typo in registry.close().
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-07-30 23:23:51 -04:00
James McCoy
d053a660b0 callbacks.py: Always error when capabilities aren't satisfied.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-07-30 23:21:26 -04:00
Valentin Lorentz
6ccfe95751 Prevent last string of a file from being untranslated if .po does not end with a blank like. 2012-07-30 14:33:22 +00:00
Valentin Lorentz
9a345cff40 Truly remove src/version.py from Git. 2012-07-30 13:18:05 +02:00
Valentin Lorentz
5033893e9c Merge branch 'testing' of github.com:ProgVal/Limnoria into testing 2012-07-30 11:36:39 +02:00
Valentin Lorentz
82fdc2dda3 core: Internationalize some strings & update l10n-fr & change translation for 'is not a valid %s'. 2012-07-30 11:35:44 +02:00
Valentin Lorentz
8bacf6734d Fix typo in registry.close(). 2012-07-30 11:18:02 +02:00
Guido Tabbernuk
169392e519 Messages shouldn't wrap links, set defaults for text wrapper. 2012-07-29 11:45:42 +02:00
Guido Tabbernuk
7e002ed2a2 Fix normalizeWhitespace to support Unicode. 2012-07-29 11:45:27 +02:00
Valentin Lorentz
18dd017e99 Merge remote-tracking branch 'supybot/maint/0.83.4' into testing
Conflicts:
	sandbox/release.py
2012-07-06 11:09:34 +02:00
James McCoy
a42ab2e2d4 ircutils.FormatParser: Make getInt only get integers that are valid colors
If a colored message were wrapped just right (e.g., a colored number ending
the chunk), FormatParser would gobble up the color format code and the number
in the message, causing a KeyError when trying to look up the color in
mircColors.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-07-02 21:11:50 -04:00
Digital-Lemon
51ef07caf5 Added Irc objects creation time 2012-06-30 02:32:49 +02:00
Daniel Folkinshteyn
a31350f14a Consolidate the version string to reside in one central place to ease change making.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-06-17 10:42:44 -04:00
Valentin Lorentz
c39ad2f379 Fix KeyError when using colors in a message containing numbers. 2012-06-16 11:27:31 +00:00
Valentin Lorentz
6286558fa5 Replace tabulations in utils.str.normalizeWhitespace. Closes GH-372. 2012-06-12 19:37:49 +02:00
Valentin Lorentz
857632c762 Fix commit c310d74a19 (no more 'Error: error' message on 'Missing capability' error). 2012-06-09 18:54:10 +02:00
Valentin Lorentz
9723e14a4d Prevent possible race conditions in scheduler. 2012-06-09 16:54:19 +02:00
James McCoy
438b50dccc irclib: Modes aren't case insenstive
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-06-06 13:38:38 +02:00
James McCoy
6d1b957e07 irclib: Modes aren't case insenstive
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-06-06 06:00:48 -04:00
James McCoy
4c01cb93e0 registry: Use the correct variable name setName creates the child entry
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>

Conflicts:

	src/registry.py
2012-05-25 18:14:45 +02:00
James McCoy
edca443eed Just create schedule.schedule/drivers.Twisted.poller without any guard
These module-level variables had historically been created such that reloading
the module wouldn't redefine the variable.  However, none of our code reloads
the modules and the guard to prevent redefining the variable was broken so it
would've been redefined anyway.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>

Conflicts:

	src/schedule.py
2012-05-25 18:14:10 +02:00
Valentin Lorentz
a630cc34d8 Use ircutils.joinModes() instead of hacky str.join()s in ircmsgs.unbans.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-05-23 01:52:10 -04:00
Valentin Lorentz
741599c947 Add the channel where a command has been called in the logs ('XXX called by XXX').
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-05-23 01:47:22 -04:00
Valentin Lorentz
b7bc11deea Prevent the 'hostmask' converter from returning '*!*@*' while 'foo!*@*' was given. 2012-05-22 23:10:40 -04:00
James McCoy
8ab33bccb4 registry: Use the correct variable name setName creates the child entry
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-05-22 22:46:35 -04:00
James McCoy
97e71bd2cd Just create schedule.schedule/drivers.Twisted.poller without any guard
These module-level variables had historically been created such that reloading
the module wouldn't redefine the variable.  However, none of our code reloads
the modules and the guard to prevent redefining the variable was broken so it
would've been redefined anyway.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2012-05-22 22:38:44 -04:00
Valentin Lorentz
14609b3bb2 Add self as an argument to methos in src/dbi.py 2012-05-22 21:15:58 -04:00
Valentin Lorentz
1fe4cef61b Import os before using it. 2012-05-22 21:14:42 -04:00
Valentin Lorentz
90e511cad1 Drop src/version.py from the source and generate it with setup.py instead. Closes GH-358. 2012-05-11 18:43:23 +02:00
skizzhg
901a03407d PluginDownloader: update l10n-it. 2012-05-04 18:56:13 +02:00
Valentin Lorentz
96b0ae0e1e Merge branch 'testing' of github.com:ProgVal/Limnoria into testing 2012-05-02 21:33:12 +02:00
Valentin Lorentz
654b618fec Fix typo in src/test.py 2012-05-02 21:14:30 +02:00
Valentin Lorentz
a274f25bb8 Fix commit f4b81659. 2012-05-02 21:13:09 +02:00
Valentin Lorentz
c83481bd9c Use self instead of non-existing variable name. 2012-05-02 21:06:22 +02:00
Valentin Lorentz
9352322075 Fix typo in schedule. 2012-05-02 20:58:56 +02:00
Valentin Lorentz
446349357d Check globals() instead of catching NameError. 2012-05-02 20:58:36 +02:00
Valentin Lorentz
af460596d3 Add self as an argument to methos in src/dbi.py 2012-05-02 20:50:06 +02:00
Valentin Lorentz
776ce96d52 Import os before using it. 2012-05-02 20:48:49 +02:00
Valentin Lorentz
c310d74a19 Enfore capability checks when supybot.reply.error.noCapability is False. 2012-05-01 13:15:54 +00:00
Valentin Lorentz
124ca33f4e AutoMode & Unix: Update l10n-fr. 2012-04-27 18:14:29 +02:00
Valentin Lorentz
63f8c10eff core: update l10n-fr. 2012-04-27 18:11:18 +02:00
skizzhg
4261bcc65d Update core l10n-it and l10n-fi. 2012-04-23 21:55:53 +02:00
skizzhg
977f3f5110 Fix typoes in core. 2012-04-23 21:55:21 +02:00
skizzhg
418d1b921f AutoMode & Channel & Time & Unix: Update l10n-it. 2012-04-23 21:52:02 +02:00
Valentin Lorentz
87607667ec PluginDownloader: Add l10n-fr. 2012-04-19 21:45:49 +02:00
Valentin Lorentz
fe9197ee7c AutoMode: update messages.pot. 2012-04-19 21:39:10 +02:00
Valentin Lorentz
bd6ff971c9 Factoids & Format & Praise: fix l10n-fi and l10n-it. 2012-04-19 21:31:21 +02:00
Valentin Lorentz
92027d1046 Fix help for supybot.directories.backup. 2012-04-17 11:49:03 +02:00
Valentin Lorentz
9d6b132233 i18n: Fix issue with the bot sending the repr() of the string on IRC when translation has 'new line' characters in it. 2012-04-17 11:45:25 +02:00
Valentin Lorentz
70a1aced78 Add tests for Unix.sysuptime and Unix.sysuname. 2012-04-15 14:02:44 +02:00
robbe
7de277d052 Add commands Unix.sysuptime and Unix.sysuname. 2012-04-15 14:02:39 +02:00
Valentin Lorentz
cf073bbd73 Fix duplicated sentence in supybot.directories.backup's help. 2012-04-14 11:09:11 +00:00
Valentin Lorentz
e6032c68bc AutoMode: Add configurable delay. Closes GH-188. 2012-04-04 15:55:42 +02:00
Valentin Lorentz
8558640a00 schedule: Add parameters args and kwargs. 2012-04-04 15:55:08 +02:00
Valentin Lorentz
bad5364e28 Fix commit ed5f79c0. 2012-04-04 15:44:57 +02:00
Valentin Lorentz
113ddf8c69 Internet: Remove special handling for Verisign in @dns. 2012-04-04 15:13:39 +02:00
Valentin Lorentz
18b16d84ed Change the minimal number of non-wildcard characters in hostmask from 8 to 3. Closes GH-276. 2012-04-04 15:08:49 +02:00
Valentin Lorentz
dbf1640b38 Import ircmsgs.modes() from ubotufr. 2012-04-03 21:03:42 +02:00
Valentin Lorentz
ed5f79c053 Use ircutils.joinModes() instead of hacky str.join()s in ircmsgs.unbans. 2012-04-03 21:01:10 +02:00
Valentin Lorentz
2432df156d Fix SSL issues caused by redundant patches. 2012-04-03 17:14:07 +02:00
Valentin Lorentz
e92b8a62f5 Merge supybot's master (will make future merges easier)
Conflicts:
	plugins/Misc/plugin.py
	plugins/String/plugin.py
	src/drivers/Socket.py
	src/irclib.py
	src/ircutils.py
2012-04-03 16:55:29 +02:00
Valentin Lorentz
590a992651 Add the channel where a command has been called in the logs ('XXX called by XXX'). 2012-03-18 20:45:17 +01:00
Mika Suomalainen
11417cea83 Core: Update l10n-fi. 2012-03-16 18:35:14 +01:00
skizzhg
aedfc07762 Update l10n-it. 2012-03-16 18:28:05 +01:00
Valentin Lorentz
a5e8f8ede8 Allow supybot.directories.backup to be /dev/null. 2012-03-15 20:22:46 +01:00
Valentin Lorentz
808ed5cd9b Update l10n-fr. 2012-03-15 13:44:43 +01:00
Valentin Lorentz
99ad2d193e BadWords: Fix commit 123c176637. 2012-02-25 14:02:02 +01:00
Valentin Lorentz
fcfa483efe Just update the version number. 2012-02-17 21:59:23 +00:00
Valentin Lorentz
570e30f1b7 Pass supybot.protocols.irc.strictRfc to ircutils.isNick in 'nick' converter. Closes GH-312. 2012-02-11 09:03:52 +01:00
Valentin Lorentz
957311ed2b Fix UTC use in sandbox/update-version. 2012-01-06 18:04:58 +01:00
nyuszika7h
6e699816d0 Channel: Make supybot.alwaysJoinOnInvite channel-specific. Closes GH-159. 2012-01-02 14:15:01 +01:00
nyuszika7h
c656abf096 irclib.py: Add network name to 'Outgoing message' debug log message 2011-12-28 11:37:10 +01:00
Valentin Lorentz
fc3d3e6c01 Prevent the 'hostmask' converter from returning '*!*@*' while 'foo!*@*' was given. 2011-12-27 11:55:50 +01:00
Daniel Folkinshteyn
43a3285f48 core: avoid casting data to string if it is already an instance of basestring, in irc.reply. 2011-12-18 12:39:05 +01:00
James McCoy
d9531d2d29 Fix parsing of 004 message for supported umodes/chanmodes
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-14 01:31:28 +08:00
Valentin Lorentz
5217f855b0 Fix previous merge (again). 2011-12-13 18:09:52 +01:00
Valentin Lorentz
332420bad9 Fix previous merge.
Conflicts:

	src/drivers/Socket.py
	src/version.py
2011-12-13 18:09:15 +01:00
James McCoy
7e05510faa Only use ircmsg.whois's mask argument if it's non-empty.
Closes: Sf#3121298
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-13 18:06:31 +01:00
James McCoy
b8c43dc5cc Perform all received* IrcMsg tagging in one spot.
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>
2011-12-13 18:06:26 +01:00
James McCoy
d1df9e8306 Use socket.inet_aton for isIPV4 since Windows doesn't (always?) have inet_pton
Closes: Sf#3430008
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>

Conflicts:

	src/utils/net.py
2011-12-13 18:05:14 +01:00
James McCoy
ca23cbb774 Merge branch 'maint/0.83.4' 2011-12-06 01:18:18 -05:00
James McCoy
998819da58 Bug fixes in src/ircmsgs.py
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>
2011-12-06 00:22:40 -05:00
James McCoy
f6f9e654cb Only use ircmsg.whois's mask argument if it's non-empty.
Closes: Sf#3121298
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-06 00:08:01 -05:00
James McCoy
4ddfae427f Perform all received* IrcMsg tagging in one spot.
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>
2011-12-05 23:52:38 -05:00
James McCoy
360a2036ac Use socket.inet_aton for isIPV4 since Windows doesn't (always?) have inet_pton
Closes: Sf#3430008
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-12-05 22:48:09 -05:00
Valentin Lorentz
f1852f2e2b Seen: Fix error message ('You must be in') for @since. 2011-12-03 12:45:07 +01:00
Valentin Lorentz
0caf7dba5b Fix network registration (SASL password should not be set up on registration). 2011-12-03 12:36:16 +01:00
Daniel Folkinshteyn
a98b2df392 core: make sure owner is never ignored. also simplify the logic flow in ignore checking.
Thanks m4v for the patch!
2011-11-26 19:09:19 +01:00
skizzhg
6d1cf739ab Games: Update l10n-it. 2011-11-21 19:43:56 +01:00
James McCoy
8b73f78b3e Merge branch 'maint/0.83.4'
Conflicts:
	plugins/Misc/plugin.py
	src/ircutils.py

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-11-13 15:26:19 -05:00
James McCoy
4833976294 One last fix to umode filtering.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-11-13 15:10:16 -05:00
Valentin Lorentz
b5187ea31d Fix commit b23480b9 again. 2011-11-12 00:39:08 +01:00
Valentin Lorentz
efd158da58 Fix commit b23480b9. Closes GH-267. 2011-11-11 23:50:55 +01:00
Valentin Lorentz
348d1bd99c Fix typo (lamda => lambda). 2011-11-11 19:56:20 +01:00
skizzhg
a93750bad7 Admin: Update l10n-it. 2011-11-07 19:40:04 +01:00
James McCoy
d6336421e0 Fix IRC.do376's handling of supported state
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-11-07 05:58:48 -05:00
James McCoy
4232e40e26 Fix parsing of 004 message for supported umodes/chanmodes
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-11-07 05:58:27 -05:00
James McCoy
3bfda3cc7a Fix filtering of unsupported umodes
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-11-06 22:20:55 -05:00
Valentin Lorentz
74b98f5c2a Merge remote-tracking branch 'supybot/master' into testing 2011-10-31 22:07:48 +01:00
Valentin Lorentz
a231abce89 Admin: Internationalize docstring for clearq + l10n-fr. 2011-10-30 19:22:39 +01:00
Valentin Lorentz
c677077a31 Admin: Add clearq command. 2011-10-30 14:21:53 +01:00
James McCoy
92ff5f469a Merge branch 'check-umodes' into maint/0.83.4 2011-10-29 17:26:05 -04:00
James McCoy
02c0d0ce3c Merge branch 'check-umodes' 2011-10-29 17:25:57 -04:00
James McCoy
b23480b915 irclib: Filter out unsupported umodes before sending them to the server
Closes: Sf#3075891
Signed-off-by: James McCoy <vega.james@gmail.com>
2011-10-29 17:22:42 -04:00
James McCoy
c9e548bdd9 irclib: Add support for 004 messages from the server
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>
2011-10-29 17:22:27 -04:00
Valentin Lorentz
69fe2e0562 Network: Keep the trailing # to channels, even if the user is voiced/halfoped/oped/whatever on it. 2011-10-29 19:43:53 +02:00
Valentin Lorentz
8b616d2f59 RSS: update l10n-de l10n-fi l10n-it. fix l10n-fr. 2011-10-29 17:10:58 +02:00
Valentin Lorentz
8add66511e Update l10n-fr. 2011-10-29 16:52:29 +02:00
Valentin Lorentz
7d1c2705cf Fix commit c0beda2422. 2011-10-29 15:23:39 +02:00
Valentin Lorentz
08405c6ec5 Fix Windows support (broken in 543e7882). 2011-10-29 14:46:35 +02:00
Valentin Lorentz
c0beda2422 Allow owner to kban ops. Closes GH-215. 2011-10-29 13:46:11 +02:00
Valentin Lorentz
61157f1a70 Remove buggy configuration variable help. 2011-10-29 12:23:19 +02:00
Valentin Lorentz
be438b45c2 Add configuration variable supybot.servers.http.robots. 2011-10-29 12:13:09 +02:00
Valentin Lorentz
4c05d97f4a Karma: Take profit of the return value of conf.registerPlugin().
(It breaks my documentation generator)
2011-10-28 22:44:10 +02:00
Valentin Lorentz
e253fe1543 Allow network-specific nicks. Closes GH-134. 2011-10-27 12:31:37 +02:00
Valentin Lorentz
ceabe070a0 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	plugins/Channel/plugin.py
2011-10-27 11:56:13 +02:00
Valentin Lorentz
a87c096d69 Allow plugins to take over a subdirectory of the HTTP server. 2011-10-27 10:47:59 +02:00
skizzhg
51e02849ad Web: Fix l10n-it. 2011-10-27 10:47:25 +02:00
Daniel Folkinshteyn
8f7c4bdf7f Fix banmask creation. Thanks Progval for the patch!
fixes https://sourceforge.net/tracker/?func=detail&aid=3088559&group_id=58965&atid=489447

incorporating patch https://sourceforge.net/tracker/?func=detail&aid=3163843&group_id=58965&atid=489449

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-10-22 14:25:26 -04:00
Daniel Folkinshteyn
df5391dcf7 Socket driver: implement ssl connection support.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2011-10-22 14:09:06 -04:00
Valentin Lorentz
a46176e3b1 Fix URL to plugins and default page charset in HTTP server. 2011-10-02 12:11:30 +02:00
Valentin Lorentz
90ad25668e Misc: Fix order of replies of @tell, in order to fix issue with nesting.
Using @ignore [tell foo bar] was telling 'The operation succeeded' to foo, and ignore 'bar'.
2011-09-18 10:31:09 +02:00
Valentin Lorentz
e9697ffcf9 Merge pull request #213 from nyuszika7h/testing
Add SASL support to core.
2011-09-18 01:23:34 -07:00
nyuszika7h
25dcadfe68 conf.py: remove surrounding spaces around '=' for sasl_username. 2011-09-14 11:39:00 +02:00
nyuszika7h
e140fc76f5 conf.py: Change username to sasl_username and add it as last argument. 2011-09-13 19:55:31 +02:00
nyuszika7h
ca502c6814 irclib.py: Added network name to SASL authentication success/fail. 2011-09-13 19:55:01 +02:00
nyuszika7h
c8c2f125a1 conf.py: remove part about server-specific password for supybot.networks.<network>.sasl.password. 2011-09-13 17:01:18 +02:00
nyuszika7h
dcaefbdcf5 Add SASL support to core. 2011-09-13 11:07:52 +02:00
Valentin Lorentz
b80d6b27d6 Karma: Fix SQLite threading issue. Closes GH-206. 2011-09-11 20:13:20 +02:00
Valentin Lorentz
904503e67e Ctcp: Update CTCP-Source reply. Closes GH-203. 2011-09-11 16:43:21 +02:00
skizzhg
151c6a0738 ChannelStats: Update l10n-it. 2011-09-02 20:03:45 +00:00
Valentin Lorentz
2f6acdf42f Misc: Add --unloaded option. 2011-09-01 17:48:09 +00:00
skizzhg
2a3fc2a0f3 ChannelStats: Add l10n-it. 2011-08-30 17:21:39 +00:00
Valentin Lorentz
dda08e0648 RSS: Fix typo (fnor -> for). 2011-08-27 13:58:14 +00:00
Daniel Folkinshteyn
e98ac0f4c2 Some improvements to the commands.process function - better process naming and informational output.
Conflicts:

	plugins/String/plugin.py
	src/commands.py
2011-08-25 11:36:47 +02:00
Valentin Lorentz
be585ecea9 Merge remote-tracking branch 'supybot/maint/0.83.4' into testing
Conflicts:
	src/ircutils.py
2011-08-23 16:41:52 +02:00
James Vega
5ada9193b9 Honor supybot-test's timeout option and document the units
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2011-08-22 20:50:16 +02:00
James Vega
4661acb3a3 Honor supybot-test's timeout option and document the units
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2011-08-22 14:07:39 -04:00
Valentin Lorentz
fb66be5968 Revert "Utilities: Add l10n-it."
This reverts commit f37db99895.
2011-08-21 21:44:25 +02:00
skizzhg
f37db99895 Utilities: Add l10n-it. 2011-08-21 20:49:22 +02:00
Valentin Lorentz
cebf67fe89 Time: Fix redundant (and un-user-friendly) error message. 2011-08-18 11:07:26 +02:00
Valentin Lorentz
22eb147116 Channel: Really deny access to the nicks list. Closes GH-172. 2011-08-16 13:22:23 +02:00
Daniel Folkinshteyn
37597bfe94 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.

Conflicts:

	plugins/String/plugin.py
	src/commands.py
2011-08-15 17:24:33 +02:00
Daniel Folkinshteyn
3fa45b3b5f Secure some more commands which take a regexp from untrusted user input.
Namely todo.search, note.search, dunno.search.

Conflicts:

	plugins/Note/plugin.py
	plugins/Todo/plugin.py
	src/version.py
2011-08-13 01:59:18 +02:00
Daniel Folkinshteyn
0e3002d1f8 String: set default re subprocess timeout to 0.1, since that should be quite enough.
Conflicts:

	plugins/String/config.py
2011-08-13 01:57:03 +02:00
Daniel Folkinshteyn
e11dc28025 Misc: fix potential ddos when misc.last command is fed a specially-crafted regexp.
Conflicts:

	plugins/Misc/plugin.py
2011-08-13 01:56:21 +02:00
Daniel Folkinshteyn
91ac1c2179 String: fix it up to work with the previously committed enhancement for subprocess timeout.
Conflicts:

	plugins/String/plugin.py
2011-08-13 01:55:25 +02:00
Daniel Folkinshteyn
3526d5dabf src/commands.py: make subprocesses raise an error on timeout, rather than return a string
Conflicts:

	src/commands.py
2011-08-13 01:53:58 +02:00
Valentin Lorentz
d85cbd256b Misc: Security fix to @last: time-consuming could freeze the bot. Closes GH-157. 2011-08-12 18:51:40 +02:00
Valentin Lorentz
8d6ce790e8 Time: Remove useless/bad/wrong error message from @tztime. 2011-08-12 13:07:40 +02:00
Valentin Lorentz
2caae4d043 Merge branch 'testing' of github.com:ProgVal/Limnoria into testing 2011-08-12 13:07:14 +02:00
Valentin Lorentz
1fa02674a0 Revert "In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63."
This reverts commit c6facc99f3.

Conflicts:

	src/version.py
2011-08-12 01:06:31 +02:00
skizzhg
54aef4f3d5 Later & Misc & Seen & Todo: Update l10n-it. 2011-08-10 17:23:59 +02:00
Daniel Folkinshteyn
6dca55deeb Services: fix problem with some channels being mixed up between networks on startup, when noJoinsUntilIdentified is true.
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.
2011-08-10 12:00:42 +02:00
skizzhg
cf436631d6 Admin & Anonymous & AutoMode & Channel & Misc & NickCapture & Seen & Todo & URL: Update l10n-it. 2011-08-10 11:48:07 +02:00
Valentin Lorentz
bc36debe2f ChannelLogger & Format & Karma & Later & Misc & Owner & Reply & Seen & Status & Todo & URL & Unix: Update messages.pot and l10n-fr. 2011-08-10 11:44:57 +02:00
skizzhg
6e5350def6 ChannelLogger & Format & Karma & Owner & Reply & Status & URL & Unix: Fix typoes. 2011-08-10 11:26:47 +02:00
Valentin Lorentz
f3b6b182aa Reply: Fix typo and update l10n-*. Closes GH-125. 2011-08-07 12:04:31 +02:00
Valentin Lorentz
52e0bc5ac0 NickCapture: Fix plugin help and l10n-fr. Closes GH-116. 2011-08-07 12:02:06 +02:00
Valentin Lorentz
2e0f33f655 User: Admins can now see capabilities of other users. Closes GH-106. 2011-08-07 11:59:19 +02:00
Valentin Lorentz
9cd2c31dd4 Misc: Notify the caller when @tell succeeded. Closes GH-97. 2011-08-07 11:30:51 +02:00
skizzhg
e2b598d5b7 Update core l10n-it. 2011-08-07 11:16:49 +02:00
skizzhg
7e88bb1ce3 Update l10n-it for many plugins. 2011-08-07 11:16:04 +02:00
Valentin Lorentz
fb278f42fc MessageParser: update internationalization. 2011-08-06 18:57:56 +02:00
skizzhg
a7c6a6337a MessageParser: fix typo. 2011-08-06 18:56:28 +02:00
skizzhg
1af08c27d7 Admin & Channel & Games & Math & MessageParser & Misc & MoobotFactoids & Network & Nickometer & Owner & Praise & Relay & Reply & Topic & Unix & Web: update/add l10n-it. 2011-08-06 18:55:38 +02:00
skizzhg
4ac82fb411 src/httpserver.py: fix typo. 2011-08-06 18:53:53 +02:00
skizzhg
7d8258f6a2 Core l10n-it. 2011-08-06 18:53:15 +02:00
skizzhg
94548c4dd6 src/conf.py: fix typos. 2011-08-06 18:51:46 +02:00
skizzhg
789e0f135c Utilities: fix l10n-it. 2011-07-22 02:02:11 +02:00
skizzhg
e37e292484 Channel & Factoids & Google & MessageParser & MoobotFactoids & Services & Topic & User: Add/update l10n-it. 2011-07-22 01:36:07 +02:00
Valentin Lorentz
a94b10e19b Channel: fix typo. 2011-07-22 01:34:31 +02:00
Valentin Lorentz
c571d0e007 Topic: fix typo in @unlock help. 2011-07-20 21:28:43 +02:00
Valentin Lorentz
547bf62dac Filter: Fix l10n-fr. 2011-07-19 23:49:34 +02:00
Valentin Lorentz
083815c6f7 Factoids: Fix typo. 2011-07-18 15:23:06 +02:00
skizzhg
a4c0a13b1d MessageParser: Fix typo (rexeps -> regexps). 2011-07-17 15:21:07 +02:00
Daniel Folkinshteyn
453f61da53 Dict: Fix FSF address in included dictclient module
Taking fresh address from http://www.gnu.org/licenses/old-licenses/gpl-2.0.html#SEC4
2011-07-16 14:27:52 +02:00
Valentin Lorentz
24aa0b6754 Later: add @undo command. Closes GH-76. 2011-07-16 13:59:49 +02:00
Valentin Lorentz
4e6d08c7ce Misc: Fix @source help. Closes GH-78. 2011-07-16 13:45:43 +02:00
Valentin Lorentz
03cc4c7ab7 supybot-wizard: Suggest most useful plugins when the user want to add plugins en masse. Closes GH-84. 2011-07-16 13:37:56 +02:00
Valentin Lorentz
83e55fbbbd PluginDownloader: Installing a plugin overrides the existing plugin with the same name, if any. 2011-07-14 17:34:27 +02:00
Valentin Lorentz
4edfed5ed7 AutoMode: fix previous commit. 2011-07-12 16:09:55 +02:00
Valentin Lorentz
fac7f9b379 AutoMode & Conditional & Misc & Network & Owner & Plugin & RSS & Relay & Services & String & Unix: Add l10n-it. 2011-07-12 15:04:13 +02:00
Valentin Lorentz
6b160def92 Misc: Update messages.pot and l10n-fr. 2011-07-10 19:00:12 +02:00
Valentin Lorentz
a83f2c9a07 Misc: Change URL in @source. 2011-07-10 17:08:20 +02:00
Valentin Lorentz
0dfdfa2d28 Channel: fix NameError: 'replyirc' -> 'replyIrc'. Closes GH-73. 2011-07-09 14:05:28 +02:00
Valentin Lorentz
f943fee5d5 Protector: unban user before inviting him. Closes GH-69. 2011-07-09 13:44:16 +02:00
Valentin Lorentz
a4653af792 Protector: Bug fix (demote can't use irc.queueMsg if irc is not given). 2011-07-09 13:43:24 +02:00
Valentin Lorentz
c06b86b13c Bug fixes in src/ircmsgs.py
unbans did send the repr() of the ban list, and IrcMsg.__hash__ did try to hash a list.
2011-07-09 13:42:34 +02:00
Valentin Lorentz
6831b75d72 Conditional: fix typo. 2011-07-08 10:41:36 +02:00
Daniel Folkinshteyn
48979a4db7 Scheduler: remove spammy debug output. 2011-07-07 13:33:30 +02:00
Daniel Folkinshteyn
4b1d2b49e4 Scheduler: don't immediately execute commands when restoring repeated events. 2011-07-07 13:31:50 +02:00
Valentin Lorentz
c6facc99f3 In registry.py, test whether a requested configuration variable is a channel name before creating it automatically. Closes GH-63. 2011-07-06 11:14:58 +02:00
Valentin Lorentz
0e61cf9837 Add assertNotHTTPResponse to HTTP unit tests. 2011-07-03 17:09:53 +02:00
Valentin Lorentz
f4b81659af Add unit tests to the HTTP server. 2011-07-03 16:16:19 +02:00
Valentin Lorentz
39b3784a12 First try for unit tests for the HTTP server. 2011-07-03 10:46:48 +02:00
Valentin Lorentz
8c1d10e8f3 MoobotFactoids: Use when opening the database. 2011-07-02 11:50:31 +02:00
Valentin Lorentz
9aa32da082 Fix typo in HTTP server. 2011-07-01 16:25:50 +02:00
Valentin Lorentz
5215aa1095 Move http server from src/utils/ to src/ 2011-07-01 16:15:04 +02:00
Valentin Lorentz
4ebcda024b Bug fix (I didn't test the previous commit correctly) 2011-07-01 16:11:37 +02:00
Valentin Lorentz
41514bafdd Core & Channel & Topic: Add the isGranted converter. Closes GH-39. 2011-07-01 15:58:39 +02:00
Valentin Lorentz
d4693ebb69 Add callback (mainly useful for plugins) for config edits. Closes GH-24. 2011-07-01 11:11:39 +02:00
Valentin Lorentz
efc30a4ed2 Fix traceback when sending POST requests to the 404 error handler. 2011-06-30 00:58:46 +02:00
Valentin Lorentz
1c366a2899 src/i18n.py: fix error when running @reloadlocale with a plugin loaded before but not available any longer. 2011-06-28 19:52:18 +02:00
Valentin Lorentz
509a6c1780 Forgot a debug print in httpserver.py 2011-06-25 16:28:49 +02:00
Valentin Lorentz
a7f6f6c3b3 Update the version string 2011-06-25 15:15:19 +02:00
Valentin Lorentz
4df4977a76 Internationalize strings in the HTTP server. Closes GH-29. 2011-06-25 14:27:44 +02:00
Valentin Lorentz
fc41fc6153 Add support for POST and HEAD requests to the HTTP server. 2011-06-25 11:37:10 +02:00
Valentin Lorentz
fa3fc7d20a Fix exception when stopping the HTTP server if already stopped. 2011-06-25 10:02:30 +02:00