Commit Graph

208 Commits

Author SHA1 Message Date
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
156b3d93e1 Socket driver: Add support for Socks proxies. 2012-10-07 13:13:08 +02: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
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
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
Valentin Lorentz
d2b33a3794 Fix compatibility with Python 2.6. 2012-08-13 13:01:50 +00:00
Valentin Lorentz
3dc8e04195 utils.web.urlencode: Encode data into bytes. 2012-08-05 16:57:40 +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
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
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
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
d52e501ae8 Use open() instead of file(). 2012-08-04 13:13:16 +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
ef78c86974 Add configuration variable supybot.reply.format.url. 2012-07-31 13:12:33 +00:00
Guido Tabbernuk
7e002ed2a2 Fix normalizeWhitespace to support Unicode. 2012-07-29 11:45:27 +02:00
Valentin Lorentz
6286558fa5 Replace tabulations in utils.str.normalizeWhitespace. Closes GH-372. 2012-06-12 19:37:49 +02:00
Valentin Lorentz
a5e8f8ede8 Allow supybot.directories.backup to be /dev/null. 2012-03-15 20:22:46 +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
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
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
Valentin Lorentz
08405c6ec5 Fix Windows support (broken in 543e7882). 2011-10-29 14:46:35 +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
Valentin Lorentz
5215aa1095 Move http server from src/utils/ to src/ 2011-07-01 16:15:04 +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
509a6c1780 Forgot a debug print in httpserver.py 2011-06-25 16:28:49 +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
Valentin Lorentz
b9baa579fe Bug fix in HTTP server. 2011-06-24 16:26:32 +02:00
Valentin Lorentz
667d7c34b4 Bug fixes to the HTTP server 2011-06-24 15:32:22 +02:00
Valentin Lorentz
ef5438e937 Add docstrings to the HTTP server callbacks 2011-06-24 14:52:01 +02:00
Valentin Lorentz
13e4f45e30 Add an embedded HTTP server to Supybot. 2011-06-24 14:31:29 +02:00
James Vega
543e78828b Add utils.net.isIPV4, with utils.net.isIP checking v4 or v6
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2011-06-06 21:44:15 -04:00
Valentin Lorentz
d6cd8a5427 Fix email regexp to be RFC-compliant 2011-05-03 20:23:20 +02:00
Daniel Folkinshteyn
b306c5440f add damerau-levenshtein distance to supybot.utils.seq
use it in factoids invalid command to match possible typos
write tests for same.
2011-02-25 18:36:09 +01:00
Valentin Lorentz
ad2ad80263 Fix forgotten merge 2011-01-26 09:56:04 +01:00
Valentin Lorentz
17248b5d2c Merge branch 'testing' into unit-tests
Conflicts:
	src/utils/str.py
2011-01-22 10:29:22 +01:00
Valentin Lorentz
e4cced8364 Fix depluralize. 2011-01-22 10:28:27 +01:00
Valentin Lorentz
4649188b96 Fix detection of .42 domains 2011-01-02 13:22:54 +01:00
Valentin Lorentz
83aca7c651 Merge branch 'testing' 2010-12-22 18:12:28 +01:00
Valentin Lorentz
a58e270516 Fix issue with Pypy 2010-12-12 14:22:44 +01:00
Valentin Lorentz
f2a0b60e79 Fix unicode bug 2010-11-28 17:47:38 +01:00
Valentin Lorentz
4ea359d503 Merge branch 'l10n-fr' into testing 2010-11-11 12:03:04 +01:00
Valentin Lorentz
323ffe1a1f i18n: Fix internationalization problems 2010-11-11 12:01:56 +01:00
Valentin Lorentz
52b701526d Merge branch 'l10n-fr' into testing 2010-11-01 15:02:05 +01:00
Valentin Lorentz
30a1ca06b2 Fix the @Misc help formatting
Stop removing the \n in the translated docstrings
2010-11-01 15:01:50 +01:00
Valentin Lorentz
0410cf3d0d Merge branch 'l10n-fr' into testing 2010-11-01 11:49:11 +01:00
Valentin Lorentz
a2c8c613db Bug fix (didn't keep any beginning or ending space) 2010-11-01 11:47:19 +01:00
Valentin Lorentz
27bb53b560 Merge branch 'l10n-fr' into testing 2010-10-30 21:41:44 +02:00
Valentin Lorentz
3ea8115095 Internationalize src/utils/str.py and modify src/i18n.py to fit this changes 2010-10-30 21:10:49 +02:00
Valentin Lorentz
5f2699b2c0 Merge branch 'l10n-fr' into testing 2010-10-30 12:15:09 +02:00
Valentin Lorentz
b85d289bbb Fix wrong method name 2010-10-30 12:14:54 +02:00
Valentin Lorentz
5e09a9c887 Merge branch 'l10n-fr' into testing 2010-10-30 12:11:29 +02:00
Valentin Lorentz
ec6a267c09 Internationalize more functions in src/utils/str.py 2010-10-29 15:31:36 +02:00
Valentin Lorentz
e8bc966827 Add locale abitrary code
Add the capability for Supybot to load code depending on the locale
src/utils/str.py now imports pluralize and depluralize from this code
2010-10-28 17:28:27 +02:00
Valentin Lorentz
b7651b06a1 Merge branch 'l10n-fr' into testing 2010-10-28 15:45:51 +02:00
Valentin Lorentz
f3a579f3da Add the '<empty>' feature to nItems, and changed ChannelStats localization in order to use it as bug fixer 2010-10-28 15:18:06 +02:00
Valentin Lorentz
8be4aaeff1 Merge branch 'readability' 2010-10-23 10:38:52 +02:00
Valentin Lorentz
e556fbde2e Added %S to format() 2010-10-16 11:37:10 +02:00
Valentin Lorentz
50acd3d8d9 Creating the internationalization module and internationalize/localize ChannelStats into French 2010-10-09 11:36:22 +02:00
James Vega
0abe22f5d1 Merge branch 'maint/0.83.4' 2010-09-08 23:50:35 -04:00
James Vega
b0575cec88 Handle changes to fnmatch.translate in Python 2.6
Define utils.python.glob2re based on the Python version being used.
Use glob2re in Todo and Note plugins.

Closes: Sf#3059292
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-09-08 23:31:01 -04:00
James Vega
a6857ce9bf utils/web.py: Only try catching socket.sslerror if built with SSL support
Closes: Sf#2998820

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit f03a3f6c85)
2010-08-24 19:49:30 -04:00
James Vega
f0852a9e45 utils.web: Provide access to the raw httpUrlRe/urlRe strings
Using the compiled regexps for a PluginRegexp method's __doc__ doesn't work.

Closes Sourceforge #2879862

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 25fc2de643)
2010-08-24 19:14:58 -04:00
Ricky Zhou
6299ef5c22 Account for negative times in timeElapsed.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit aa2337791a)
2010-08-24 19:02:16 -04:00
James Vega
f03a3f6c85 utils/web.py: Only try catching socket.sslerror if built with SSL support
Closes: Sf#2998820

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-05-24 15:44:25 -04:00
James Vega
25fc2de643 utils.web: Provide access to the raw httpUrlRe/urlRe strings
Using the compiled regexps for a PluginRegexp method's __doc__ doesn't work.

Closes Sourceforge #2879862

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-15 22:16:38 -04:00
James Vega
c5896ff6cb utils.web: Import urllib's urlencode into our namespace.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-29 19:54:07 -04:00
James Vega
de79e679f4 Add a data kwarg to getUrl(Fd) a la urllib2.Request.
This allows plugins to easily make POST requests using our getUrl(Fd)
functions.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-16 01:17:33 -04:00
Štěpán Němec
a66034f852 Fix some typos/wordings.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-26 16:34:12 -04:00
Ricky Zhou
aa2337791a Account for negative times in timeElapsed.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-07-20 16:07:51 -04:00
Jeremy Fincher
43129239d6 Added Seen.since, which lets a user see messages which were sent since the last time he parted a channel. 2009-07-01 15:40:58 -05:00
Ricky Zhou
fa3a2dd23b Allow nItems to take longs as well.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-19 00:58:07 -04:00
Jeremy Fincher
757991afc9 Added basic CacheDict with simple test. 2009-04-02 11:28:57 -05:00
James Vega
6b6861f884 Don't specify globals as a kwarg; only in 2.5+
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-22 13:47:42 -04:00
James Vega
58d308b54d Fix perlReToReplacer when \ is used in the replacement
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-12 17:17:20 -04:00
James Vega
ecd2c63650 Make universalImport support 'from ModuleA import ModuleB'
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-11 15:55:08 -04:00
Jeremy Fincher
a86b4694d7 Added utils.python.universalImport to make the previous idiom cleaner. 2009-03-11 14:05:53 -04:00
James Vega
0c42ea111a Fix our RE parsing to handle multiple backslashes before the separator
This also adds support for using brace pairs ({}, [], (), <>) as the
separators for m//.
2009-03-11 13:37:27 -04:00
James Vega
e787c7aa49 Clarify comment about timestamp() override 2009-03-11 13:37:26 -04:00
James Vega
3d5c877f80 Finally fix the XXX we had for httpUrlRe and urlRe 2009-03-11 13:37:26 -04:00