Commit Graph

3878 Commits

Author SHA1 Message Date
Valentin Lorentz
d431c2992b Factoids: Fix compatibility of web server with Python 3. Closes GH-784. 2014-08-04 13:21:40 +00:00
nyuszika7h
ddbfad5086 Add do352 back for IRCds which do not support WHOX 2014-08-03 13:58:49 +02:00
nyuszika7h
dd5556ea99 Fix previous commit 2014-08-02 14:11:49 +02:00
nyuszika7h
e185416987 Fix tests 2014-08-02 13:45:41 +02:00
nyuszika7h
871607614a Implement account-notify, extended-join and WHOX
Also integrate it with NickAuth.

Closes #778.
2014-08-02 12:30:24 +02:00
Mikaela Suomalainen
c0c9da8a47 src/conf.py: make help text for defaultignore...
more clear

Now the help text says `unidentified` instead of `unregistered` and
hostmasks are mentioned.
2014-08-01 07:08:22 +03:00
Valentin Lorentz
7ac053d8f1 Merge branch 'rewrite-rss' into testing 2014-07-31 22:53:44 +02:00
Valentin Lorentz
00e25f86d8 Implement TruncatableSet.__repr__. 2014-07-31 22:53:21 +02:00
Valentin Lorentz
5f582e3f52 Make AtomicFile support context managers. 2014-07-31 22:53:21 +02:00
Valentin Lorentz
e42a3dd6ac Fix Python 2.6 compatibility. 2014-07-31 19:53:07 +00:00
Valentin Lorentz
c6cb948996 Fix Python 2.6 compatibility. 2014-07-31 19:53:00 +00:00
Valentin Lorentz
0e7349cf77 Fix utils.str.timestamp for ints. 2014-07-31 19:38:08 +00:00
Valentin Lorentz
0f174d9ee0 Fix utils.str.timestamp for ints. 2014-07-31 19:37:57 +00:00
Valentin Lorentz
4a3d39e747 Merge branch 'rewrite-rss' into testing
Conflicts:
	src/utils/str.py
2014-07-31 19:24:01 +00:00
Mikaela Suomalainen
ddf7ec9baa src/conf.py & commands.py: fix typo
informations --> information
2014-07-31 18:09:22 +00:00
Valentin Lorentz
2f327ab9c1 Fix Python 2.6 support (broken in the two last commits). 2014-07-31 18:06:20 +00:00
Valentin Lorentz
8be1671867 Fix unicode handling issue of utils.str.format on Python 2. 2014-07-31 19:57:26 +02:00
Valentin Lorentz
8010cd5ae2 Fix unicode handling issue of utils.str.format on Python 2. 2014-07-31 19:57:14 +02:00
Valentin Lorentz
70ad232887 Fix af24192b0f (support for struct_time in utils.str.timestamp). 2014-07-31 19:56:17 +02:00
Valentin Lorentz
af24192b0f Allow utils.str.timestamp to take a struct_time as argument. 2014-07-31 18:44:00 +02:00
Valentin Lorentz
c51876b4d6 Allow TruncatableSet to get no argument. 2014-07-31 18:43:40 +02:00
Valentin Lorentz
94fbea6266 Add utils.structures.TruncatableSet. 2014-07-31 14:24:47 +02:00
nyuszika7h
32e3be3dac src/irclib.py: remove some errors 2014-07-26 11:52:34 +02:00
Valentin Lorentz
39dad55b6f Make renaming of commands persistant. Closes GH-789. 2014-07-18 20:43:24 +02:00
Valentin Lorentz
ab011a6618 ShrinkUrl & core: Fix encoding issue related to getUrlFd. 2014-07-16 05:42:46 +00:00
nyuszika7h
8e11dc8b28 Use gender-neutral pronouns everywhere 2014-07-13 17:23:11 +02:00
Valentin Lorentz
6f19088724 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	.gitignore
	plugins/Alias/plugin.py
	plugins/Anonymous/plugin.py
	plugins/Anonymous/test.py
	setup.py
	src/callbacks.py
2014-07-12 09:48:27 +02:00
Valentin Lorentz
da4a1c1a32 80 columns. 2014-07-09 07:50:32 +02:00
Mikaela Suomalainen
20f8c5c56a src/conf.py reword help text for supybot.user
and supybot.networks.<network>.user
2014-07-09 07:50:32 +02:00
James McCoy
3d993a0cab callbacks: Properly handle nested command errors
Using Raise=True was only papering over the real problem in the nested
command error handling.  The actual issue is that we were trying to
return an IrcMsg from NestedCommandsIrcProxy.__init__.  Dropping
Raise=True and moving return to its own line is the correct fix and
resolves the test failure in testMaximumNestingDepth.

This commit reverts 7838cae3bc

Signed-off-by: James McCoy <vega.james@gmail.com>
2014-06-29 19:12:22 -04:00
Valentin Lorentz
aad0f0c88c i18n: Don't strip spaces at the end of translated strings. Closes GH-750. 2014-06-19 10:28:08 +00:00
Valentin Lorentz
9e74175566 schedule: Move the whole deletion of an event in the same critical section. 2014-06-17 21:19:07 +02:00
Valentin Lorentz
ddc37a7f4a Revert "Make supybot.reply.oneToOne not always true on channels."
This reverts commit 5881c97120.
2014-06-11 11:13:01 +00:00
James McCoy
7838cae3bc callbacks: Use Raise=True for nested limit errors
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-06-09 23:44:25 -04:00
Mikaela Suomalainen
1762b8090a fix 2f723e809d 2014-06-09 20:41:04 +03:00
Mikaela Suomalainen
6d3198c2b3 src/conf.py: update help for drivers.module
This wording was suggested by @nyuszika7h .
2014-06-09 20:38:45 +03:00
Valentin Lorentz
a138722d73 src/log.py: Display warning instead of raising exception if there is no space left on defice (infinite loop…). 2014-06-09 16:41:58 +00:00
Mikaela Suomalainen
ea0ba24e5c src/conf.py: reword the config help for reply.oneToOne.
Suggested by @monodemono on `#supybot`.

**Comments wanted:** does this rewording make sense? If it doesn't, how
could it be better?
2014-06-06 20:57:08 +03:00
nyuszika7h
fa06f2af34 Add protocols.irc.certfile
Fixes #612.
2014-06-04 19:12:56 +02:00
venth
76599db944 questions.yn: Perform string, not identity, comparison against 'y'
The `is` operator performs object identity comparison.  Changing to `==`
implements the expected behavior.

Use the mock library to add tests verifying the API of questions.yn.
2014-06-01 22:52:58 -04:00
Valentin Lorentz
b14ed2c5d9 Config: Prevent variable creation when trying to get the value of a channel-specific variable for a non-channel. 2014-05-31 20:44:56 +02:00
Valentin Lorentz
303c00db1e Fix previous commit. 2014-05-31 15:23:27 +02:00
Valentin Lorentz
bd638ce350 i18n: Cleaner code and potential bug fix of multi-line translations. 2014-05-31 14:56:28 +02:00
Valentin Lorentz
483e786cde i18n: Fix internationalization of command help. 2014-05-31 14:53:15 +02:00
Mikaela Suomalainen
8ee273b949 src/conf.py: use ISO 8601 in reply.format.time.
If I read the code for Time correctly, it uses this value by default. I
think that this fixes #701 .
2014-05-31 09:46:29 +03:00
Valentin Lorentz
5881c97120 Make supybot.reply.oneToOne not always true on channels. 2014-05-30 17:03:12 +00:00
Valentin Lorentz
8787239f0a Merge pull request #675 from Mkaysi/html5
src/httpserver.py: use HTML5.
2014-05-29 23:28:59 +02:00
Mikaela Suomalainen
85a943c5b1 src/conf.py: fix gender-neutral pronouns. 2014-05-29 18:51:52 +03:00
Mikaela Suomalainen
0f89e12f4d src/conf.py: set default banmask to host.
`*!user@host` is very easy to evade as most of users don't have identd server. This makes bans a little more difficult to evade.

See also:
* weechat/weechat#18
* ProgVal/Limnoria#689
2014-05-28 12:45:07 +03:00
Mikaela Suomalainen
3e9ccf2cdf src/conf.py: Plugin isn't important plugin
See https://github.com/ProgVal/Limnoria/pull/677#issuecomment-44134309 & https://github.com/ProgVal/Limnoria/pull/677#issuecomment-44140276 .
2014-05-25 20:33:33 +03:00
Mikaela Suomalainen
cedae0244c src/httpserver.py: use HTML5. 2014-05-25 13:50:39 +03:00
nyuszika7h
100ff648be src/irclib.py: Further improvements to SASL and a few other minor things 2014-05-24 17:25:32 +02:00
nyuszika7h
414249c9ac src/irclib.py: Delay sending SASL authstring until given green light
That means wait until receiving 'AUTHENTICATE +' from the server, which
means the mechanism is supported and we can proceed to send the
authstring.

It generally works anyway, but it's better to follow the standards, plus
old versions of elemental-ircd may crash if we don't do this.
2014-05-24 15:57:27 +02:00
Valentin Lorentz
d5d3171794 Merge pull request #656 from Mkaysi/patch-3
src/conf.py: fix #653
2014-05-22 22:10:13 +02:00
Mikaela Suomalainen
fb26c772fc src/test.py: fix typo
standart --> standard
2014-05-22 13:54:25 +03:00
Mikaela Suomalainen
44c579c4f9 src/conf.py: fix #653
```
4.4.2 Notice

      Command: NOTICE
   Parameters: <nickname> <text>

   The NOTICE message is used similarly to PRIVMSG.  The difference
   between NOTICE and PRIVMSG is that automatic replies must never be
   sent in response to a NOTICE message.  This rule applies to servers
   too - they must not send any error reply back to the client on
   receipt of a notice.  The object of this rule is to avoid loops
   between a client automatically sending something in response to
   something it received.  This is typically used by automatons (clients
   with either an AI or other interactive program controlling their
   actions) which are always seen to be replying lest they end up in a
   loop with another automaton.

   See PRIVMSG for more details on replies and examples.
```
2014-05-22 12:55:43 +03:00
Valentin Lorentz
adc1b94f81 Merge pull request #622 from ncoevoet/master
Fixes ProgVal/Limnoria#611
2014-05-09 15:42:49 +02:00
Nicolas Coevoet
f9afcffb3a Fixes ProgVal/Limnoria#611 2014-05-09 14:39:57 +02:00
Valentin Lorentz
9d084e2e70 Allow network-specific username and ident. Closes GH-589. 2014-05-08 08:33:01 +00:00
Valentin Lorentz
9210aa1a33 utils.web.getUrl: add the 'timeout' argument (and fix the doc of getUrlFd). 2014-04-26 12:43:45 +00:00
Valentin Lorentz
5461785ee2 cdb: Remove debug output. 2014-04-19 10:18:34 +02:00
Valentin Lorentz
28536f0528 Fix utils.gen.safeEval to work with instances of ast.NameConstant (introduced in Pythn 3.4). 2014-04-19 10:17:14 +02:00
Valentin Lorentz
65aed8f7ed Fix previous commit. 2014-04-18 07:16:02 +00:00
Valentin Lorentz
cab4cb5059 Copy the reply_env when copying an IrcMsg object. 2014-04-18 07:08:14 +00:00
Valentin Lorentz
30cc4804eb Add 'reply_env' attribute to IrcMsg. 2014-04-18 06:53:52 +00:00
Valentin Lorentz
90a1208e9e httpserver: Fix crash if supybot.servers.http.favicon has not been set. 2014-04-15 18:39:44 +00:00
Valentin Lorentz
5f306a8c74 Fix neutral pronouns. 2014-04-11 21:56:42 +00:00
nyuszika7h
822e6449f9 irclib: Add support for additional SASL numerics 2014-04-10 15:03:20 +02:00
nyuszika7h
6be8204805 irclib: Remove some useless SASL debug messages 2014-04-10 14:57:20 +02:00
nyuszika7h
14e51f6193 irclib: Make SASL messages easier to understand
The logs are meant to be understandable by humans, and not everyone
might know AUTHENTICATE is a SASL command.

[ci skip]
2014-04-10 14:53:17 +02:00
Valentin Lorentz
f569af6230 remove generated src/version.py. 2014-04-05 23:08:33 +02:00
Valentin Lorentz
d89e4b5635 Fix previous merge. 2014-04-05 22:56:40 +02:00
Valentin Lorentz
8885a813c5 Merge remote-tracking branch 'supybot/master' into merge-supybot
Conflicts:
	INSTALL
	plugins/Misc/plugin.py
	plugins/Seen/test.py
	setup.py
	src/commands.py
	src/version.py
2014-04-05 22:54:51 +02:00
Valentin Lorentz
4d9a8a1408 httpserver: Open icon in binary mode. 2014-04-02 17:34:04 +00:00
Valentin Lorentz
048c1e77f4 httpserver: Fix favicon handling. 2014-04-02 17:18:45 +00:00
Sergio Conde
ad3deb7c21 Fix AttributeError exception in log.py with python3.4 2014-04-01 20:16:20 +02:00
Valentin Lorentz
0da8ab759e Fix doc (again). 2014-03-21 15:34:14 +00:00
Valentin Lorentz
5f8e45aaa8 Fix doc of NestedCommandsIrcProxy.reply. 2014-03-21 15:31:48 +00:00
Valentin Lorentz
bfb305e2b8 Utilities: Use number comparison for integers and floats in @sort. 2014-03-20 21:17:18 +00:00
Valentin Lorentz
c6cb4fa394 i18n: Prevent untranslated strings from having empty translations 2014-03-10 16:26:26 +01:00
Valentin Lorentz
77e6de6bba Fix errors detected by PyLint. 2014-03-05 14:14:36 +01:00
Valentin Lorentz
2601f33b19 src/conf.py: Remove unicode characters from the source code. 2014-03-04 11:29:22 +01:00
Valentin Lorentz
b4ad8c228d Remove invisible character in src/test.py. 2014-03-02 00:43:58 +01:00
Valentin Lorentz
dcb25db6e5 Add support for SRV records in domain name resolution. 2014-03-01 09:22:14 +01:00
Valentin Lorentz
108b0de0d1 Add support of IP-binding in non-IRC connections. 2014-03-01 09:06:21 +01:00
Valentin Lorentz
59ae6f987d ircdb: Honor ignoreDefaultAllow for unknown users too. 2014-02-27 19:05:19 +00:00
Valentin Lorentz
8fd834beb7 Fix precedence of commands by removing Utilities from the list of important plugins. 2014-02-22 00:03:58 +00:00
Valentin Lorentz
d1aa36126d Add Utilities as a default plugin. 2014-02-21 23:55:41 +00:00
Valentin Lorentz
5d301b653f Merge remote-tracking branch 'origin/speed-up-2to3' into testing
Conflicts:
	locales/fr.po
	plugins/Misc/plugin.py
	sandbox/check_trans.py
	src/i18n.py
2014-02-02 22:28:19 +01:00
Valentin Lorentz
4fe74ed397 Merge branch 'aka-sqlite3' into speed-up-2to3 2014-02-02 22:15:43 +01:00
Valentin Lorentz
0d4784cf4a Fix compatibility with Python 2.6 (does not support the set syntax). 2014-01-26 21:49:28 +01:00
Valentin Lorentz
aea86d432f Fix previous commit. 2014-01-26 21:34:24 +01:00
Valentin Lorentz
c872cd793f Fix compatibility with Pypy (does not support __closure__ attribute for functions). 2014-01-26 21:19:28 +01:00
Valentin Lorentz
a7f750d273 Fix compatibility with Python 2.6 (does not support the set syntax). 2014-01-26 21:14:21 +01:00
Valentin Lorentz
eaed281de7 Fix compatibility with Python 2.6 (does not support the set syntax). 2014-01-26 21:13:06 +01:00
Valentin Lorentz
121991eff9 Fix case of i18n.InternationalizedFunction. 2014-01-26 20:45:28 +01:00
Valentin Lorentz
9b365d1ed8 Fix case of i18n.InternationalizedString. 2014-01-26 20:45:28 +01:00
Valentin Lorentz
f3e292d518 Fix memory leak in i18n by using weak references to plugin classes and methods. 2014-01-26 20:45:28 +01:00
Valentin Lorentz
489ec1b065 i18n: Move the pot files parsing to a separate function. 2014-01-26 20:45:27 +01:00
Valentin Lorentz
6a8b7889ea Remove unnecessary call to i18n.reloadLocalesIfRequired. 2014-01-26 20:45:27 +01:00
Valentin Lorentz
3e35113e02 Fix internationalization of docstrings of wrap()ed commands. 2014-01-26 20:45:27 +01:00
Valentin Lorentz
e1f9d68870 Switch comments of callbacks.PluginRegexp's attributes to docstrings (for Sphinx). 2014-01-26 20:45:27 +01:00
Valentin Lorentz
a5e06e1b57 Update documentation of ircdb.checkCapability (used in the Sphinx doc). 2014-01-26 20:45:27 +01:00
Valentin Lorentz
8d1201aa43 Fix case of i18n.InternationalizedFunction. 2014-01-22 11:04:08 +01:00
Valentin Lorentz
5c08281543 Fix case of i18n.InternationalizedString. 2014-01-22 10:54:40 +01:00
Valentin Lorentz
974a64de44 Fix memory leak in i18n by using weak references to plugin classes and methods. 2014-01-22 10:51:01 +01:00
Valentin Lorentz
80aa419035 Add file minisix.py (forgot to add it in previous commits). 2014-01-21 22:41:50 +01:00
Valentin Lorentz
1874440cc8 i18n: Move the pot files parsing to a separate function. 2014-01-21 22:39:48 +01:00
Valentin Lorentz
35c7b52e14 Remove unnecessary call to i18n.reloadLocalesIfRequired. 2014-01-21 16:36:45 +01:00
Valentin Lorentz
3af1e3f42d Fix internationalization of docstrings of wrap()ed commands. 2014-01-21 16:33:35 +01:00
Valentin Lorentz
f27484d2bb Switch comments of callbacks.PluginRegexp's attributes to docstrings (for Sphinx). 2014-01-21 13:43:52 +01:00
Valentin Lorentz
06fdaa792f Continue accelerating the 2to3 step (remove fix_map). 2014-01-21 10:57:38 +01:00
Valentin Lorentz
1fbdedc7e0 Continue accelerating the 2to3 step (remove fix_funcattrs, fix_itertools, and fix_itertools_imports). 2014-01-21 10:50:55 +01:00
Valentin Lorentz
35a62b4e77 Continue accelerating the 2to3 step (remove fix_ws_comma, fix_xreadlines, and fix_zip). 2014-01-21 10:40:18 +01:00
Valentin Lorentz
ca419f6485 Continue accelerating the 2to3 step (remove fix_reduce, fix_renames, fix_repr, fix_set_literal, fix_standarderror, fix_sys_exc, fix_throw, and fix_tuple_params). 2014-01-20 16:04:53 +01:00
Valentin Lorentz
bb7db3ab21 Continue accelerating the 2to3 step (remove fix_except). 2014-01-20 15:49:15 +01:00
Valentin Lorentz
2fda69b4d6 Continue accelerating the 2to3 step (remove fix_raise). 2014-01-20 15:43:55 +01:00
Valentin Lorentz
c1c23f66f4 Continue accelerating the 2to3 step (remove fix_print). 2014-01-20 15:31:09 +01:00
Valentin Lorentz
529b8f8d99 Continue accelerating the 2to3 step (remove fix_nonzero, fix_operator, and fix_paren). 2014-01-20 15:19:06 +01:00
Valentin Lorentz
d1649a44ac Continue accelerating the 2to3 step (remove fix_idioms, fix_imports2, fix_input, fix_intern, fix_isinstance, fix_ne, fix_next, and fix_raw_input). 2014-01-20 15:13:01 +01:00
Valentin Lorentz
4652c9ce51 Start accelerating the 2to3 step (remove fix_apply, fix_buffer, fix_callable, fix_exec, fix_execfile, fix_exitfunc, fix_filter, fix_funcattrs, fix_future, fix_getcwdu, and fix_has_key). 2014-01-20 14:49:47 +01:00
Valentin Lorentz
566e841977 Update documentation of ircdb.checkCapability (used in the Sphinx doc). 2014-01-20 11:35:28 +01:00
Valentin Lorentz
26dbe5ce81 Merge branch 'master' into testing 2014-01-07 09:37:13 +00:00
Valentin Lorentz
caba0d388e Merge pull request #536 from ddan39/addshortopts
add short options to getopts. single letter options will work with both - or --
2014-01-07 01:36:05 -08:00
Dan
54196be509 add short options to getopts. single letter options will work with both - or -- 2014-01-06 23:03:25 +01:00
Valentin Lorentz
5694f2499d Merge pull request #535 from bnrubin/master
log: Add support for Logging's 'extra' keyword argument
2014-01-06 07:54:11 -08:00
Benjamin Rubin
1093cfb01f log: Add support for Logging's 'extra' keyword argument 2014-01-05 17:15:00 -05:00
Valentin Lorentz
b44a08d2bd Fix previous merge (again). 2014-01-03 17:48:30 +00:00
Valentin Lorentz
4a9d3ccd3e Fix previous merge. 2014-01-03 17:15:32 +00:00
nyuszika7h
0934f1075b Merge branch 'testing' into fix/fd-leak 2014-01-03 17:45:53 +01:00
nyuszika7h
0e480b4e52 Fix file descriptor leaks 2014-01-03 17:44:01 +01:00
Valentin Lorentz
38d78a4213 httpserver: add method 'doHook' to callbacks. 2014-01-02 17:20:15 +00:00
Valentin Lorentz
233571e4b5 Add arguments ignoreChannelOp and ignoreDefaultAllow to ircdb.checkCapability. 2013-12-27 15:04:32 +00:00
Valentin Lorentz
0ecdb87aef Fix crash in sending queued messages if SocketDriver.irc is None. 2013-12-27 13:15:45 +00:00
Valentin Lorentz
89fb4fb3b2 Fix stack frames display for objects without __dict__ attribute. 2013-12-25 16:08:07 +00:00
Valentin Lorentz
84cad71cf5 Fix inspection of the stack if the 'self' object has no __dict__. 2013-12-15 19:30:20 +00:00
Valentin Lorentz
01278dc56c Aka: Fix 'factorial-complexity' recursion and command overriding. 2013-12-11 16:01:01 +00:00
Valentin Lorentz
c774013e1f Socket: Only call self.irc.feedMsg if self.irc is not None (ie. a reconnect is not in progress). 2013-12-05 12:37:00 +00:00
Valentin Lorentz
f894983b55 Add inspection of self.* in debug locals dump. 2013-12-05 12:35:56 +00:00
Valentin Lorentz
583b1baf64 Socket: Fix commit 4c24f30. 2013-12-03 05:44:50 +00:00
Valentin Lorentz
9a83b741ea Socket: Only display the missing cert file warning if a cert file path is given. 2013-11-27 16:44:15 +00:00
Valentin Lorentz
4c24f30504 Socket: Check if certertificate file exists before using it. 2013-11-27 07:26:09 +00:00
Valentin Lorentz
b673cdb037 Merge branch 'testing' of github.com:ProgVal/Limnoria into testing 2013-11-26 16:59:05 +01:00
Valentin Lorentz
aea77d64e7 callbacks.py: Pass a reference to the plugin to pre-command callbacks. 2013-11-26 16:57:33 +01:00
Valentin Lorentz
42b8a0676c utils/web.py: Attempt to fix handling of RSS feeds using broken entity references. 2013-11-26 15:15:07 +00:00
Valentin Lorentz
ff5d83e7e6 ircutils: Add 'I' to _plusRequireArguments and _minusRequireArguments. 2013-11-25 20:44:52 +00:00
Valentin Lorentz
e65a722b2f Add certfp support. Closes GH-468. 2013-11-10 11:45:01 +01:00
Valentin Lorentz
9d2c43d2f4 Socket: Trigger reconnect if socket file number has been set to -1. 2013-11-09 15:47:36 +00:00
Valentin Lorentz
0876bb345c Fix import of supybot.gpg if gnupg is not available. 2013-11-02 06:17:51 +00:00
Valentin Lorentz
3f150e12e7 gpg: Disable use of incompatible library 'gnupg'. 2013-10-29 17:09:41 +01:00
James McCoy
bf48d521f2 Use generic setuptools instead of requiring distribute
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-10-10 20:37:12 -04:00
James McCoy
56a6799deb commands: Consolidate state.channel checks into getChannel
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-10-10 18:54:50 -04:00
Valentin Lorentz
677f7fdd6f irclib: Prevent crash if 324 or 329 is not received after any other post-join messages. 2013-10-10 14:10:06 +00:00
Valentin Lorentz
359d3c633d registry: Make subvalues inherit privacy. Closes GH-519. 2013-10-06 14:26:03 +00:00
Valentin Lorentz
657b76d174 Fix merge. 2013-09-22 20:29:52 +02:00
Valentin Lorentz
990b911c06 Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	src/callbacks.py
	src/ircdb.py
2013-09-22 20:16:20 +02:00
James McCoy
6361b1e856 ircdb: Deduplicate hostmasks in IrcUser.addAuth
If addAuth is called with a hostmask that already exists (exactly, not
just equivalent patterns) in self.auth, remove the entry for the old
authentication.  This essentially updates the timeout for the hostmask.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-09-22 11:13:52 -04:00
Valentin Lorentz
4e2962b39e Fix error when writing hostmask-collision error message. 2013-09-17 13:32:52 +00:00
James McCoy
4bc549c1ed Prevent exception when replying with a genericNoCapability error
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-31 23:04:38 -04:00
Valentin Lorentz
01a6ed6540 Fix use of rsplit for IPv6 addresses.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-26 21:37:12 -04:00
Valentin Lorentz
40675ffdfa Merge remote-tracking branch 'supybot/master' into testing
Conflicts:
	plugins/Admin/plugin.py
	plugins/BadWords/config.py
	plugins/Filter/plugin.py
	plugins/Google/plugin.py
	plugins/Math/plugin.py
	plugins/Misc/plugin.py
	plugins/Note/plugin.py
	plugins/RSS/plugin.py
	plugins/Seen/test.py
	plugins/ShrinkUrl/config.py
	plugins/ShrinkUrl/plugin.py
	plugins/ShrinkUrl/test.py
	plugins/Status/plugin.py
	plugins/String/config.py
	plugins/String/plugin.py
	plugins/Time/plugin.py
	plugins/Todo/plugin.py
	plugins/Web/plugin.py
	plugins/__init__.py
	scripts/supybot-botchk
	setup.py
	src/__init__.py
	src/callbacks.py
	src/commands.py
	src/conf.py
	src/drivers/Socket.py
	src/ircdb.py
	src/irclib.py
	src/ircutils.py
	src/questions.py
	src/registry.py
	src/schedule.py
	src/test.py
	src/utils/file.py
	src/utils/gen.py
	src/utils/net.py
	src/utils/web.py
	src/world.py
2013-08-24 11:28:29 +02:00
James McCoy
ea7f1f8419 Socket: Match the expected API of reconnect
driver.reconnect(wait=True) should flag a driver to reconnect, but not
immediately.  The Socket driver lost its handling of this flag in
8730832e.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-24 00:29:16 -04:00
James McCoy
e7d0bfd2d0 commands: Handle OverflowError in _int
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 23:36:44 -04:00
James McCoy
333067c151 Provide a default help message for commands without help.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 22:57:13 -04:00
James McCoy
e421722960 Fix crash if a custom error message is provided to somethingWithoutSpaces
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 22:06:07 -04:00
Valentin Lorentz
960e1da61c commands.py: Fix error message of getSomethingWithoutSpaces.
Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-23 00:29:11 -04:00
James McCoy
5b329df6f0 Socket: Try all resolved addresses before scheduling a reconnect
Instead of assuming the first address returned from getaddrinfo can be
reached, try each one in turn until a connection is established.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-22 23:43:09 -04:00
James McCoy
88e4f73777 getSocket: Use returned family to create the socket
The existing code was parsing the passed in host to determine what type
of socket family to create.  getaddrinfo already provides this for us,
so there's no need to perform our own, potentially buggy, parsing.

Signed-off-by: James McCoy <jamessan@users.sourceforge.net>
2013-08-22 23:40:28 -04:00
Valentin Lorentz
e3acc03fd6 Another fix for b46a0dd6a2. 2013-08-17 19:27:52 +02:00
Valentin Lorentz
f3ecc33678 Fix commit b46a0dd (breaks tests for Alias and Aka). 2013-08-17 17:08:55 +02:00
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
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