Kill Your TV
b46a0dd6a2
Unicode fixes for python 2.x
...
These changes have been tested with Python 3.2.3 and Python 2.7.5.
2013-08-17 14:12:10 +00:00
Valentin Lorentz
dd37f8dd3f
Socket: Forward DNS queries via the socks proxy (if any).
2013-08-17 15:47:39 +02:00
Valentin Lorentz
b375e7dfb2
commands.py: Fix crash if a custom error message is provided to somethingWithoutSpaces (bug introduced in 29dc1438a0
).
2013-08-15 22:25:36 +02:00
Valentin Lorentz
8d7b06efd1
utils.str.format: Replace %u with '' instead of '<>' if URL is empty.
2013-08-13 19:19:54 +00:00
Valentin Lorentz
3a5c4c3ddd
Add class attribute callbacks.Commands.pre_command_callbacks.
2013-08-12 21:48:56 +02:00
Valentin Lorentz
ebde072f39
Add explicit/helpful error message about how to solve the multiprocessing 'Permission denied' issue.
2013-08-12 19:08:31 +02:00
Valentin Lorentz
1e050d7fa8
utils/str.py: Use already existing function utils.gen.timeElapsed instead of redundant one.
2013-08-11 12:08:01 +02:00
Valentin Lorentz
8b4b45ecf0
utils/str.py: Add the %T (Time delta) argument type.
2013-08-11 12:03:41 +02:00
Valentin Lorentz
1ee8bc3480
Fix bug that caused commands like '@google google google google translate' to be valid. Closes GH-19.
2013-08-10 15:22:47 +02:00
Valentin Lorentz
c23f25545f
Fix core tests for Python 3 (actually imported + fixes).
2013-08-10 15:18:04 +02:00
Valentin Lorentz
536ec37037
commands.py: raise the exception instead of returning is if --disable-multiprocessing is given.
2013-08-09 17:48:53 +02:00
Valentin Lorentz
573d4a0158
Silence errors in Socket driver if connecting failed (name resolution, ...).
2013-08-09 12:59:42 +02:00
Valentin Lorentz
9288b16cd2
Fix 918b8a3c01
on Windows.
2013-08-09 12:21:24 +02:00
Valentin Lorentz
918b8a3c01
commands.py: Add heap_size argument to process().
2013-08-09 12:16:24 +02:00
Valentin Lorentz
6a4750015e
schedule: Add the 'count' argument.
2013-08-04 09:16:07 +02:00
Valentin Lorentz
7c30936ee1
Merge branch 'aka' into testing
2013-08-01 10:48:42 +02:00
Valentin Lorentz
b4eb4bfd65
Remove randomly failing assertions (race condition with environnements cleaning?)
2013-07-28 16:56:22 +02:00
Valentin Lorentz
eb15e1934c
Fix typo in conf.py.
2013-07-26 09:23:57 +00:00
Valentin Lorentz
329187c78c
Add sqlalchemy as a valid database backend.
2013-07-23 20:58:43 +02:00
Valentin Lorentz
29dc1438a0
commands.py: Fix error message of getSomethingWithoutSpaces.
2013-07-16 20:20:08 +00:00
Valentin Lorentz
21144f7c9c
Don't send JOIN on connection if there is no channels to join.
2013-07-14 09:44:34 +02:00
Valentin Lorentz
38bab185a9
Remove Python2.4-specific code.
2013-07-13 17:28:21 +02:00
Valentin Lorentz
9bfec720f5
Fix traceback if bot is kicked immediately after joining a channel.
2013-07-13 12:01:53 +02:00
Valentin Lorentz
4a265a6ce9
Enhance representation of InsensitivePreservingDict objects.
2013-07-13 11:20:02 +02:00
Valentin Lorentz
f22f0bb4b6
Make log.firewall display the callback name in any case.
2013-07-11 10:07:11 +02:00
Valentin Lorentz
771b739af7
utils.web.getEncoding: use <meta charset /> if available.
2013-07-09 12:40:42 +00:00
Valentin Lorentz
b4402b28ed
utils.web: Rename get_encoding to getEncoding for consistency.
2013-07-09 12:05:51 +00:00
Valentin Lorentz
d4df5de91d
utils.web: Add function get_encoding.
2013-07-09 12:02:25 +00:00
Valentin Lorentz
addb754c68
registry.py: Use %r instead of %s in for formating __nonExistentEntry errors.
2013-07-08 22:51:16 +02:00
Valentin Lorentz
4fffdbccd2
httpserver: Firewall do* methods.
2013-07-07 13:26:13 +02:00
Valentin Lorentz
eff7d5e671
Fix httpserver for Python 3.
2013-07-07 13:24:26 +02:00
Valentin Lorentz
0514a64209
Fix use of rsplit for IPv6 addresses.
2013-07-02 13:18:57 +02:00
Valentin Lorentz
ed193e7cc7
io.StringIO has no attribute 'reset'.
2013-06-29 23:19:38 +02:00
Valentin Lorentz
46b89cfc0e
Fix crash when --daemon is given (Python 3).
2013-06-29 13:58:41 +02:00
Valentin Lorentz
dce3c97fe4
Socket: Only catch select.error if it is an interupted system call.
2013-06-29 13:44:42 +02:00
Valentin Lorentz
75654a4544
Socket: Prevent crash caused when a signal is received while using select. Closes GH-477.
2013-06-29 12:40:45 +02:00
Carsten Teibes
7129dc2697
Switch to charade, which is better maintained and works under 2 and 3
2013-06-27 19:36:44 +02:00
Milos Petkovic
be6116f958
Reset network uptime on reconnection as well
2013-06-17 08:09:16 +02:00
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
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