Commit Graph

3028 Commits

Author SHA1 Message Date
Valentin Lorentz
4ebcda024b Bug fix (I didn't test the previous commit correctly) 2011-07-01 16:11:37 +02:00
Valentin Lorentz
41514bafdd Core & Channel & Topic: Add the isGranted converter. Closes GH-39. 2011-07-01 15:58:39 +02:00
Valentin Lorentz
d4693ebb69 Add callback (mainly useful for plugins) for config edits. Closes GH-24. 2011-07-01 11:11:39 +02:00
Valentin Lorentz
efc30a4ed2 Fix traceback when sending POST requests to the 404 error handler. 2011-06-30 00:58:46 +02:00
Valentin Lorentz
1c366a2899 src/i18n.py: fix error when running @reloadlocale with a plugin loaded before but not available any longer. 2011-06-28 19:52:18 +02:00
Valentin Lorentz
509a6c1780 Forgot a debug print in httpserver.py 2011-06-25 16:28:49 +02:00
Valentin Lorentz
a7f6f6c3b3 Update the version string 2011-06-25 15:15:19 +02:00
Valentin Lorentz
4df4977a76 Internationalize strings in the HTTP server. Closes GH-29. 2011-06-25 14:27:44 +02:00
Valentin Lorentz
fc41fc6153 Add support for POST and HEAD requests to the HTTP server. 2011-06-25 11:37:10 +02:00
Valentin Lorentz
fa3fc7d20a Fix exception when stopping the HTTP server if already stopped. 2011-06-25 10:02:30 +02:00
Valentin Lorentz
ff2047997a Merge branch 'httpserver' into testing 2011-06-24 18:12:50 +02:00
Valentin Lorentz
952db3a6bd supybot.servers.http.keepAlive defaults to False. 2011-06-24 18:12:43 +02:00
Valentin Lorentz
a1b2e931b7 Merge branch 'httpserver' into testing 2011-06-24 16:37:54 +02:00
Valentin Lorentz
b9baa579fe Bug fix in HTTP server. 2011-06-24 16:26:32 +02:00
Valentin Lorentz
14393a6959 Merge branch 'httpserver' into testing 2011-06-24 15:41:03 +02:00
Valentin Lorentz
667d7c34b4 Bug fixes to the HTTP server 2011-06-24 15:32:22 +02:00
Valentin Lorentz
728587be58 Fix comment in src/__init__.py 2011-06-24 14:52:24 +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
Valentin Lorentz
94f4d55734 Update version 2011-06-23 12:30:23 +02:00
Valentin Lorentz
693ba6aba0 Don't tell owner to contact an admin. Closes GH-20. 2011-06-22 21:37:34 +02:00
Valentin Lorentz
ebb3aae81c Raise an exception when plugin is not found instead of returning None in i18n.getPluginDir() 2011-06-17 15:36:38 +02:00
Valentin Lorentz
4f91a62f27 Update version 2011-06-16 19:08:48 +02:00
Valentin Lorentz
3e76a72e7c Use limnoria as a default ident (instead of supybot) 2011-06-13 11:25:19 +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
6c1699583b Misc: use Limnoria version string. 2011-06-05 20:30:32 +02:00
Daniel Folkinshteyn
ef6fe23e02 Seen: fix tests so they pass. fix seen command so it properly accepts nick wildcards.
Conflicts:

	src/version.py
2011-05-27 18:16:42 +02:00
Valentin Lorentz
8979475e13 Fix compatibility with Windows ('u' flag not supported by open()) 2011-05-07 09:12:03 +02:00
Valentin Lorentz
ce29bf8b5c Fix installation on a system that never had Supybot installed (fix commit 05c9482759) 2011-05-06 19:34:46 +02:00
Valentin Lorentz
d6cd8a5427 Fix email regexp to be RFC-compliant 2011-05-03 20:23:20 +02:00
Valentin Lorentz
58f115dde8 Add script to automatically update version with a datestamp upon commit. (Thanks nanotube) 2011-04-26 10:32:49 +02:00
Daniel Folkinshteyn
05c9482759 Consolidate the version string to reside in one central place to ease change making. 2011-04-26 10:23:18 +02:00
Valentin Lorentz
872e92eaff Merge branch 'testing' 2011-03-08 15:21:31 +01:00
Valentin Lorentz
39fa7e68d3 Fix syntax error 2011-03-05 09:51:05 +01:00
Valentin Lorentz
65d737873b Add another solution in error message about TypeErrors raised in plugins' __init__() 2011-03-05 09:44:40 +01:00
Valentin Lorentz
32b21cbc18 Add a clue in solving issue with wrapping wrapped commands 2011-03-01 08:47:53 +01:00
Valentin Lorentz
db849e21a0 Add a try/catch arround plugin directory determination (might be useful for some utilities...) 2011-02-28 16:02:17 +01:00
Valentin Lorentz
178d1aca00 Fix coding string of src/__init__.py 2011-02-27 13:08:51 +01:00
Valentin Lorentz
44458d4b57 Change version number to 0.83.4.1+git+fr3 2011-02-27 12:01:51 +01:00
James Vega
4af9d8735f Make registry.Regexp.error mimic registry.Value.error
Regexp.error can't directly call Value.error because it's providing extra
information, so it needs to build the InvalidRegistryValue exception itself
and raise it.

Closes: Sf#2985241

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit ef8bd817e8)

Signed-off-by: Daniel Folkinshteyn <nanotube@users.sourceforge.net>
2011-02-25 19:13:57 +01:00
Daniel Folkinshteyn
73e822ca56 Undo mtughan's bugfix from 7f9a113060, so i can merge jamessan's fix ef8bd817e8 2011-02-25 19:13:50 +01:00
Daniel Folkinshteyn
e939cfd124 update Karma plugin and test code to use sqlite3.
This involved also updating src/conf.py to look for sqlite3 and add it to supybot.conf.databases list,
since karma uses the plugins.DB() constructor for its database, which checks the available databases list.
2011-02-25 19:11:58 +01:00
Daniel Folkinshteyn
4cd0d19be7 commit mtughan's bugfix for this bug:
https://sourceforge.net/tracker/?func=detail&aid=2985241&group_id=58965&atid=489447
2011-02-25 18:48:46 +01: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
9f5b3f635a Merge branch 'testing' 2011-02-14 18:22:18 +01:00
Valentin Lorentz
125e766d84 Remove gribble's version.py 2011-01-29 11:43:47 +01:00
Daniel Folkinshteyn
7c7b093b33 Google: add some extra matching capability to google calc
now should be able to display any 'special' result from google.
2011-01-29 11:39:59 +01:00
Valentin Lorentz
0223e9c210 Change release number to 0.83.4.1+git+fr2 2011-01-29 10:29:05 +01:00
Valentin Lorentz
e8814fc07a Add checkCapabilityButIgnoreOwner converter 2011-01-27 19:32:43 +01:00
Valentin Lorentz
e705d3b5a9 Fix name conflict with _() 2011-01-26 10:01:58 +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
720b6d23eb Fix to global hostmask. Fix bug #SF3088559 and submitted as patch #SF3163843 2011-01-22 10:17:32 +01:00
Valentin Lorentz
4649188b96 Fix detection of .42 domains 2011-01-02 13:22:54 +01:00
Valentin Lorentz
5629b4585c Fix bolding for help strings (because of i18n) 2010-12-22 18:15:46 +01:00
Valentin Lorentz
83aca7c651 Merge branch 'testing' 2010-12-22 18:12:28 +01:00
Valentin Lorentz
49dfa69b91 Fix actually compatibility with non-ssl envirronments 2010-12-12 14:33:36 +01:00
Valentin Lorentz
a58e270516 Fix issue with Pypy 2010-12-12 14:22:44 +01:00
Valentin Lorentz
96ea659030 Add SSL support for Socket driver 2010-12-09 19:33:35 +01:00
Valentin Lorentz
f2a0b60e79 Fix unicode bug 2010-11-28 17:47:38 +01:00
Valentin Lorentz
3fafd31f51 Remove redundant spaces in src/i18n.py 2010-11-19 17:00:55 +01:00
Valentin Lorentz
3589f15278 Merge branch 'testing' 2010-11-14 14:36:21 +01:00
Valentin Lorentz
5300abbd5d Merge branch 'l10n-fr' into testing 2010-11-14 14:36:15 +01:00
Valentin Lorentz
e7cf7788be Merge branch 'i18n' into l10n-fr 2010-11-14 14:36:10 +01:00
Valentin Lorentz
0998c2a43f Fix bug in src/commands.py (forgotten comma) 2010-11-14 14:36:02 +01:00
Valentin Lorentz
211be44b9c Merge branch 'testing' 2010-11-11 12:03:12 +01:00
Valentin Lorentz
4ea359d503 Merge branch 'l10n-fr' into testing 2010-11-11 12:03:04 +01:00
Valentin Lorentz
827ff7df5b Merge branch 'i18n' into l10n-fr 2010-11-11 12:02:57 +01:00
Valentin Lorentz
323ffe1a1f i18n: Fix internationalization problems 2010-11-11 12:01:56 +01:00
Valentin Lorentz
713aae9017 Change the version suffix 2010-11-02 14:06:06 +01:00
Valentin Lorentz
43c105a6d3 Merge branch 'l10n-fr' into testing 2010-11-01 20:18:56 +01:00
Valentin Lorentz
04f25ce0de Merge branch 'i18n' into l10n-fr 2010-11-01 20:18:50 +01:00
Valentin Lorentz
02cb15d522 Remove the 'testInternationalization' 2010-11-01 20:18:44 +01:00
Valentin Lorentz
fbbfd683b4 Merge branch 'l10n-fr' into testing 2010-11-01 20:15:21 +01:00
Valentin Lorentz
589753fe9d Merge branch 'i18n' into l10n-fr 2010-11-01 20:15:16 +01:00
Valentin Lorentz
31d9d47751 Remove debug message 2010-11-01 20:15:02 +01:00
Valentin Lorentz
5679499c43 Merge branch 'l10n-fr' into testing 2010-11-01 19:57:27 +01:00
Valentin Lorentz
17fc98a3ee Merge branch 'i18n' into l10n-fr 2010-11-01 19:57:23 +01:00
Valentin Lorentz
c0ff3c3f92 Bug fix in i18n.py (decorated commands without docstring raise an error) 2010-11-01 19:57:18 +01:00
Valentin Lorentz
27ef96a78a Merge branch 'l10n-fr' into testing 2010-11-01 19:53:58 +01:00
Valentin Lorentz
249eace2cf Merge branch 'i18n' into l10n-fr
Conflicts:
	src/i18n.py
2010-11-01 19:52:56 +01:00
Valentin Lorentz
79930a7435 Bug fix in src/i18n.py 2010-11-01 19:48:45 +01:00
Valentin Lorentz
52b701526d Merge branch 'l10n-fr' into testing 2010-11-01 15:02:05 +01:00
Valentin Lorentz
22fa9f4098 Merge branch 'i18n' into l10n-fr 2010-11-01 15:01:57 +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
e4256ff8c7 Merge branch 'l10n-fr' into testing 2010-11-01 14:35:17 +01:00
Valentin Lorentz
56f2c38137 Merge branch 'i18n' into l10n-fr
Conflicts:
	src/i18n.py
2010-11-01 14:34:57 +01:00
Valentin Lorentz
1f4b3b83e1 Make the src/i18n.py code cleaner 2010-11-01 14:33:43 +01:00
Valentin Lorentz
0410cf3d0d Merge branch 'l10n-fr' into testing 2010-11-01 11:49:11 +01:00
Valentin Lorentz
ddb3dd5a50 Merge branch 'i18n' into l18n-fr 2010-11-01 11:49:04 +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
4dcd7f7fb4 Bug fixes (mainly the &config help internationalization) 2010-11-01 11:42:33 +01:00
Valentin Lorentz
51edf7325c Merge branch 'l10n-fr' into testing 2010-10-31 18:37:15 +01:00
Valentin Lorentz
198f8267eb Bug fixes 2010-10-31 18:36:33 +01:00
Valentin Lorentz
4c03aef9a6 Internationalize a string in conf.py 2010-10-31 13:41:36 +01:00
Valentin Lorentz
676c08ad8e Fix possible truncation of messages
Possible bug with languages which has a long translation for '(XX more messages)'.
2010-10-31 13:35:23 +01:00
Valentin Lorentz
6dfd334344 Merge branch 'l10n-fr' into testing 2010-10-31 11:32:00 +01:00
Valentin Lorentz
283a026449 Add the i18n test in src/test.py 2010-10-31 11:30:04 +01:00
Valentin Lorentz
27bb53b560 Merge branch 'l10n-fr' into testing 2010-10-30 21:41:44 +02:00
Valentin Lorentz
4a516c5f46 Makes the code of i18n.py cleaner
More comments; docstrings; remove the % auto-handling (useless).
2010-10-30 21:41:25 +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
f3528c57d4 Merge branch 'l10n-fr' into testing 2010-10-30 12:49:57 +02:00
Valentin Lorentz
5150c4ef60 Now tests if a plugin has the _ object before using it 2010-10-30 12:49:43 +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
6737424bc6 Shorten PluginInternationalisation.get* in src/i18n.py 2010-10-29 15:33:36 +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
97f51ab08e Fix i18n bug for global Supybot 2010-10-28 16:42:52 +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
44c3eb1825 Changes version 2010-10-24 13:54:35 +02:00
Valentin Lorentz
8be4aaeff1 Merge branch 'readability' 2010-10-23 10:38:52 +02:00
Valentin Lorentz
5e2e858ac5 Removed debug information 2010-10-20 19:01:22 +02:00
Valentin Lorentz
da9a1bfb70 Internationalize questions.py 2010-10-20 18:33:39 +02:00
Valentin Lorentz
6b26861c23 Internationalize callbacks.py, commands.py, and conf.py ; and generated the messages.pot 2010-10-20 18:27:58 +02:00
Valentin Lorentz
df3d096ab1 Modified i18n.py, in order to handle internationalization before conf is loaded 2010-10-20 18:26:52 +02:00
Valentin Lorentz
f1d5d9d832 Fix a pygettext warning 2010-10-20 10:27:31 +02:00
Valentin Lorentz
77d0296054 Merge branch 'master' into readability 2010-10-20 09:49:59 +02:00
Valentin Lorentz
597cec5af7 Merge branch 'master' into i18n 2010-10-20 09:48:59 +02:00
Valentin Lorentz
386c8562ea Added myself in the author list 2010-10-20 09:48:49 +02:00
Valentin Lorentz
e556fbde2e Added %S to format() 2010-10-16 11:37:10 +02:00
Valentin Lorentz
4a5b98507f Revert 9a2eea4272 2010-10-10 16:54:46 +02:00
Valentin Lorentz
d156ae7474 Add the configuration variable help reloading 2010-10-10 16:46:55 +02:00
Valentin Lorentz
b44401dd1c Remove a forgotten debug print 2010-10-10 16:35:31 +02:00
Valentin Lorentz
9a2eea4272 Change the version name 2010-10-10 16:34:34 +02:00
Valentin Lorentz
a8319d3c6f Remove debug message and internationalize config.py in ChannelStats 2010-10-10 15:11:41 +02:00
Valentin Lorentz
a750fe6a2e Fix the internationalisation problem for the docstrings 2010-10-10 14:45:25 +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
26a458b9ec Merge branch 'maint/0.83.4' 2010-09-20 19:46:18 -04:00
James Vega
0fd6a84632 Use self.error() instead of raise for BooleanRequiredFalseOnWindows.
Closes: Sf#3070285
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-09-20 18:34:07 -04: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
e7ef97e529 Ensure channel-specific reply.whenNotAddressed works.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 166f32dcb0)
2010-08-24 19:52:59 -04:00
James Vega
8d5e4ba624 Twisted: Send all available ircmsgs and reduce delay between checks
All ircmsgs that takeMsg will return should be processed each time
checkIrcForMsgs is called since there may be multiple available in the
fastqueue.

Reduced the time between calls of checkIrcForMsgs so the delay between
normally queued ircmsgs stays close to the configured throttleTime.

Closes: Sf#3018148
(cherry picked from commit adc5d62bbf)
2010-08-24 19:49:54 -04:00
James Vega
ff760d1c69 Socket: Ensure driver is flagged as disconnected after a socket error.
Users were occasionally hitting a situation where the socket had errored,
causing a reconnect, but the socket wasn't closed nor the driver marked as
disconnected.  This resulted in run() continuing to try and use the driver,
which would cause another error, schedule another reconnect, log an error, ad
infinitum.

Closes: Sf#2965530

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit a278d17f2b)
2010-08-24 19:49:38 -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
fa199022e1 Make registry.Regexp.error mimic registry.Value.error
Regexp.error can't directly call Value.error because it's providing extra
information, so it needs to build the InvalidRegistryValue exception itself
and raise it.

Closes: Sf#2985241

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit ef8bd817e8)
2010-08-24 19:44:31 -04:00
James Vega
8d94ff743c Include hostmasks in JOIN, PART, QUIT logs.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 4a9596608a)
2010-08-24 19:44:10 -04:00
James Vega
e13d3d6943 Decode/encode as 'string_escape' when (de)serializing the registry.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-08-24 19:43:24 -04:00
James Vega
455b5631bc Update plugins to ignore all non-ACTION CTCP messages.
Also update commands.urlSnarfer to do the same, which allows us to revert
"Don't bother snarfing URLs from non-Action CTCP messages."

This reverts commit 3282e3407e.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 288d7c6e02)
2010-08-24 19:42:11 -04:00
James Vega
2a18d07a2e Default to strict RFC compliance.
It's better to force people to use an RFC nick and change it after they
connect than to let non-RFC nicks get used and not be able to connect to the
network.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 07e283f450)
2010-08-24 19:26:13 -04:00
James Vega
9ddf07ce97 Allow Banmask.makeBanmask to work when dynamic.channel is None.
This gives back the ability to generate a banmask based on the global banmask
settings instead of per-channel settings.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 8a98653d3b)
2010-08-24 19:23:25 -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
James Vega
3e984c71d0 Clarify databases.types.cdb.maximumModifications' help and use a proper type.
The code expects a float between 0 and 1 inclusive but was simply using
registry.Float.  registry.Probability matches the behavior we want.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit e9a896c736)
2010-08-24 19:12:44 -04:00
James Vega
5a0f96fc8e Reply with an error when getBanmask doesn't have a valid channel.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 459bc616b1)
2010-08-24 19:12:21 -04:00
James Vega
bdf9e8836b Ensure getBanmask has a channel variable as per makeBanmask's requirement
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 260570bd4f)
2010-08-24 19:12:09 -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
024a77af48 Updated to 0.83.4.1+git.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
(cherry picked from commit 332a614eef)
2010-08-24 18:59:46 -04:00
James Vega
166f32dcb0 Ensure channel-specific reply.whenNotAddressed works.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-07-26 19:48:37 -04:00
James Vega
c10d964604 Elide ignored replies from nested command output.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-06-24 00:33:04 -04:00
James Vega
adc5d62bbf Twisted: Send all available ircmsgs and reduce delay between checks
All ircmsgs that takeMsg will return should be processed each time
checkIrcForMsgs is called since there may be multiple available in the
fastqueue.

Reduced the time between calls of checkIrcForMsgs so the delay between
normally queued ircmsgs stays close to the configured throttleTime.

Closes: Sf#3018148
2010-06-18 20:33:43 -04:00
James Vega
a278d17f2b Socket: Ensure driver is flagged as disconnected after a socket error.
Users were occasionally hitting a situation where the socket had errored,
causing a reconnect, but the socket wasn't closed nor the driver marked as
disconnected.  This resulted in run() continuing to try and use the driver,
which would cause another error, schedule another reconnect, log an error, ad
infinitum.

Closes: Sf#2965530

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-05-24 23:36:29 -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
Jeremy Fincher
6135a88741 Updates and tweaks to some ircutils functions. 2010-05-18 12:48:36 -05:00
Štěpán Němec
6520d1f282 Topic plugin: Add persistence support.
Topics now persist between restarts.

Rationale: Useful when reloading/restarting; previously the topics would
be just forgotten. Don't use database, as that would be an unnecessary
overkill and in any case not needed.

(Also, remove the unused `re' module import.)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-05-11 18:22:37 -04:00
Daniel Folkinshteyn
51eac7da5b add standardsubstitute vars 'utc' and 'gmt' which output current time in UTC.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-11 17:01:11 -04:00
Daniel Folkinshteyn
2c9f325cf4 fix some time display issues in standardsubstitute:
first, use explicit time.strftime() instead of time.ctime, since ctime() leaves an extra space between month and date, if date is
single-digit.

second, use stftime('%Z') for timezone, old code was a bug which always displayed the daylight saving timezone name, even when it wasn't
in effect. time.daylight is not a dst flag, it is a flag for whether a dst timezone is /defined/, not if it is in effect.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-11 17:00:50 -04:00
James Vega
ef8bd817e8 Make registry.Regexp.error mimic registry.Value.error
Regexp.error can't directly call Value.error because it's providing extra
information, so it needs to build the InvalidRegistryValue exception itself
and raise it.

Closes: Sf#2985241

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-04-11 10:15:39 -04:00
James Vega
4a9596608a Include hostmasks in JOIN, PART, QUIT logs.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-02-28 21:17:35 -05:00
James Vega
0540513387 Decode/encode as 'string_escape' when (de)serializing the registry.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-01-30 23:03:35 -05:00
James Vega
288d7c6e02 Update plugins to ignore all non-ACTION CTCP messages.
Also update commands.urlSnarfer to do the same, which allows us to revert
"Don't bother snarfing URLs from non-Action CTCP messages."

This reverts commit 3282e3407e.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2010-01-28 08:14:44 -05:00
Jeremy Fincher
5f9d2bc4ce We had an issue with a command flooder, so we've tightened command flood detection to detect things on a per-host basis, rather than a per-user@host basis. 2009-12-28 12:26:33 -06:00
Jeremy Fincher
b774268498 Added network to debug "Incoming message" log. 2009-12-28 12:17:27 -06:00
James Vega
07e283f450 Default to strict RFC compliance.
It's better to force people to use an RFC nick and change it after they
connect than to let non-RFC nicks get used and not be able to connect to the
network.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-18 20:02:53 -05:00
James Vega
8a98653d3b Allow Banmask.makeBanmask to work when dynamic.channel is None.
This gives back the ability to generate a banmask based on the global banmask
settings instead of per-channel settings.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-11-01 10:26:08 -05:00
James Vega
56ba12aa4b Add support for UltimateIRCd's ! (protected) user mode.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-23 19:20:02 -04:00
James Vega
035a9f2459 Add registry.TemplatedString for config variables which use string.Template 2009-10-15 22:17:36 -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
f7cedae9ad Update ircutils.standardSubstitute to use string.Template
In the process, deprecate utils.str.perlVariableSubstitute.

Since string.Template doesn't support callable values though, we also
sub-class IrcDict and override __getitem__ to call the value if it is
callable.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-10-15 22:16:29 -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
56fbbe9f36 commands.py: Explain the odd userHostmask check in getOtherUser
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-23 18:29:49 -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
James Vega
e9a896c736 Clarify databases.types.cdb.maximumModifications' help and use a proper type.
The code expects a float between 0 and 1 inclusive but was simply using
registry.Float.  registry.Probability matches the behavior we want.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-11 18:09:38 -04:00
James Vega
459bc616b1 Reply with an error when getBanmask doesn't have a valid channel.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-02 07:40:33 -04:00
James Vega
260570bd4f Ensure getBanmask has a channel variable as per makeBanmask's requirement
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-09-01 23:29:42 -04:00
James Vega
eff20402ac Change canonize => normalize
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-27 16:41:34 -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
Štěpán Němec
53cac5b078 callbacks.py: Remove duplicated getRealIrc() definition
NestedCommandsIrcProxy inherits the method from ReplyIrcProxy.
(Also fix some typos.)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-20 11:23:12 -04:00
Štěpán Němec
2fa0f6dedc commands.py: Sort the items of the wrappers dictionary
(just to make it readable)

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-08-20 11:20:48 -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
Jeremy Fincher
b9d6277e30 Added supybot.abuse.flood.command.invalid.notify, a configuration variable determining whether the bot will notify infractors of their ignoring. 2009-06-09 10:40:05 -05:00
James Vega
332a614eef Updated to 0.83.4.1+git.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-25 13:38:22 -04:00
James Vega
27a4ef0ed3 Updated to 0.83.4.1.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-25 13:38:12 -04:00
James Vega
54dda880d4 Add a pluginCommands kwarg to Commands.listCommands.
Plugins which implement their own listCommands method should pass their
non-typically discoverable commands to Commands.listCommands via this
mechanism.  This means that the de-duplication of commands is performed in one
spot instead of having each plugin implement it on their on in their
listCommands method.

This reverts commits 0ce829af6215b97e725f4d6d580d1151950be869 and
09fb0e6fc974445a3414fb03a94625f8538d4570.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-22 18:52:15 -04: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
James Vega
3535f6a702 Updated to 0.83.4+git.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 03:49:52 -04:00
James Vega
f32c886692 Updated to 0.83.4.
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 03:49:42 -04:00
James Vega
0d98118247 Allow getCommandHelp to be told whether to use simpleSyntax.
Use this to force Misc.help to ignore simpleSyntax since the user has
explicitly asked for the help.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-05-18 03:12:54 -04:00
James Vega
0615846ab3 Fix getCommandHelp's use of dynamic.msg
Default chan to None so we can still retrieve a config value if dynamic.msg
isn't valid (e.g., when running supybot-plugin-doc).

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-28 08:14:46 -04:00
James Vega
b3d97ea03e callbacks: Only use dynamic.msg if it's not None in getCommandHelp
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-28 00:33:03 -04:00
James Vega
84ca6f2ae3 callbacks: Update PluginRegexp docstring to reference (un)addressedRegexps
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-09 10:53:02 -04:00
James Vega
bb759259b8 Remove useless comments and fix a SyntaxError
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-04-03 10:04:39 -04:00
Jeremy Fincher
dd4bc64e32 Changed a few caches to use CacheDict to ensure no without-bound growth on caches. 2009-04-02 11:45:00 -05: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
e00e161a73 Comments can't follow line continuations
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-12 17:16:56 -04:00
Jeremy Fincher
278da67295 Merge branch 'master' of ssh://jemfinch@supybot.git.sourceforge.net/gitroot/supybot 2009-03-12 14:05:36 -05:00
Jeremy Fincher
fa9a9cb04d Ensured logging of error messages with unrecognized numeric codes. Fixes SR #1859821, but nothing can rectify freenode's idiocy completely. 2009-03-12 14:04:55 -05:00
James Vega
7c8d85ac8e Merge branch 'master' of git+ssh://supybot.git.sourceforge.net/gitroot/supybot 2009-03-12 15:01:46 -04:00
Jeremy Fincher
bc70ab8aad Fixes SR #2233215. 2009-03-12 13:54:05 -05:00
James Vega
6986fc7abe Do not store the install directory in directories.plugins
We automatically determine the directory anyway, so there's no need to clutter
the config file with it.  Instead, simply include the directory when we
perform the search for the plugin.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-12 14:50:46 -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
46a4076988 Add .gitignore
Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-02-27 14:17:31 -05: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
0d4ff7f3dc ircdb.py: Use a more concise return statement 2009-03-11 13:37:27 -04:00
James Vega
db615f2c40 callbacks: Actually obey the to argument of reply() 2009-03-11 13:37:27 -04:00
James Vega
10342acd11 Re-fix IrcDriver, which actually does need the args to __init__ 2009-03-11 13:37:27 -04:00
James Vega
abb83d4863 Make getBanmask use protocols.irc.banmask.makeBanmask 2009-03-11 13:37:27 -04:00
James Vega
775fe6fd4c Move plugins.Channel.banmask to protocols.irc.banmask
Also add protocols.irc.banmask.makeBanmask as a common function for
getting a banmask from a hostmask.
2009-03-11 13:37:27 -04:00
James Vega
a84a0423ad Only import cdb if it's needed 2009-03-11 13:37:27 -04:00
James Vega
5fabe8f747 Do not pass arguments to object.__init__ in IrcDriver.__init__ 2009-03-11 13:37:27 -04:00
James Vega
c23c84a725 Twisted.py: Remove useless code 2009-03-11 13:37:27 -04:00
James Vega
0d5462f446 Remove "Twisted is used if detected" from supybot.drivers.module
This description is no longer accurate as the autodetection code has
been disabled for almost 3 years.
2009-03-11 13:37:27 -04:00
James Vega
768119d258 Directly call isCommandMethod from listCommands. 2009-03-11 13:37:27 -04:00
James Vega
0b6926826a Make sure getCommandMethod only returns a valid command method
In situations like an alias, simply using getattr(self, command[0]) may
return a class method instead of the alias (think "Alias add die ...").
2009-03-11 13:37:26 -04:00
James Vega
e787c7aa49 Clarify comment about timestamp() override 2009-03-11 13:37:26 -04:00
James Vega
eb6117da4f Embed formatArgumentError in Commands._callCommand.
This allows it to utilize getCommandHelp which means that plugins which define
their own getCommandHelp will no longer have broken help responses when
ArgumentError exceptions are raised.
2009-03-11 13:37:26 -04:00
James Vega
338a899782 Make getCommandHelp respect supybot.reply.showSimpleSyntax 2009-03-11 13:37:26 -04:00
James Vega
026a683dec Update cachingGetHelp to match callbacks.getHelp's prototype 2009-03-11 13:37:26 -04:00
James Vega
c936897488 Allow doc to be specified for getSyntax, similar to getHelp 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
James Vega
828d41e37d Add utils/crypt.py as a Python version-agnostic crypt module 2009-03-11 13:37:26 -04:00
James Vega
d72b696739 Do not pass arguments to object's __init__ 2009-03-11 13:37:26 -04:00
James Vega
73fb339b04 Only disable prefixNick if action is actually True 2009-03-11 13:37:26 -04:00
James Vega
a9d1830303 Do not prefixNick for actions 2009-03-11 13:37:26 -04:00
Jeremy Fincher
9f3bc9d355 IrcCallback's super() doesn't take any args. 2009-03-11 13:37:25 -04:00
Jeremy Fincher
d08eee8f13 Made httpUrl arg wrapper add http:// if that produces a valid http url. 2009-03-11 13:37:25 -04:00
Jeremy Fincher
526e71e104 Added test for firewall, fixed implementation so it actually works. 2009-03-11 13:37:25 -04:00
James Vega
2f15eb2418 getHaveOp needs to call getChannel if state.channel isn't set 2009-03-11 13:37:25 -04:00
James Vega
e31d352e57 Correct the logic in _handleSocketError 2009-03-11 13:37:25 -04:00
Jeremy Fincher
64d34792ca Added additional help for supybot.log.level. 2009-03-11 13:37:24 -04:00
James Vega
0278318ed9 Add +svn to the version 2009-03-11 13:37:24 -04:00
James Vega
7bb3b1ec60 Merge the changes from the python25compat branch into the trunk 2009-03-11 13:37:24 -04:00
James Vega
29778f5ada Fix the registry type for supybot.replies.possibleBug. 2007-05-09 01:03:28 +00:00
James Vega
680473b015 If we're using python2.5, import re in place of sre. 2007-04-25 16:12:21 +00:00
James Vega
2bf838f109 Include the proper string in assertAction's error message. 2006-11-13 20:32:45 +00:00
James Vega
6c13f55ab4 src/log.py: Seriously simplify the handling of different logging levels for log and log.stdout by setting the level on the different handlers ranther than the logging object itself. 2006-10-05 18:54:37 +00:00
James Vega
664f56a92f src/log.py: Collapse MultiLogger's methods into using __getattr__ to detect what's being called and return the proper function. 2006-10-05 18:06:12 +00:00
James Vega
2636a35b84 src/log.py: Support different logging levels for stdout and the logfile. 2006-10-05 13:35:45 +00:00
James Vega
f91318e8f1 src/conf.py: Don't use a NormalizedString for supybot.replies.possibleBug since it breaks up the URL. 2006-10-05 13:35:09 +00:00
James Vega
ea6000b407 src/callbacks.py: Methods whose name != their canonical name should not be considered command methods (and therefore won't be listed in the output from Misc.list). 2006-08-28 13:15:21 +00:00
James Vega
cd2b58a7d5 src/callbacks.py: Allow the docstring to be passed to getHelp() 2006-08-28 13:13:43 +00:00
James Vega
99630bc3f5 Bump versions to 0.83.2+darcs 2006-07-27 14:53:34 +00:00
James Vega
c3cacbce76 Munge Author's email in __str__ instead of relying on munging the results of Author.__str__ 2006-07-14 20:54:31 +00:00