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