Commit Graph

3420 Commits

Author SHA1 Message Date
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