Commit Graph

3729 Commits

Author SHA1 Message Date
Valentin Lorentz 36a646661d Recommend chardet instead of charade. Closes GH-1096. 2015-04-29 10:01:10 +02:00
James Lu 562fa14706 ChannelIdDatabasePlugin: allow unregistered users to use commands
This adds a new configuration variable, supybot.databases.plugins.requireRegistration, which defaults to True for maximum security.
2015-04-15 18:01:06 -07:00
James Lu 6add519765 callbacks.py: log plugin name in registryValue='text' errors
This can help with debugging to find what plugins are passing invalid things to registryValue().
2015-04-05 13:44:30 -07:00
Valentin Lorentz 6a134eb302
Update string comparison to a newer string.
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:04:06 -04:00
Valentin Lorentz b0846f914e
Fix crash for commands with ambiguous getopts shortcuts and no docstring.
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 02:00:43 -04:00
James McCoy cffbd959e8
Add handling of 437 (nick temporarily unavailable) errors
Servers bind a nick to a connection for a short window after it
disappears to try and avoid contention over nicks.  This may cause a 437
during connection to a server (c.f. ProgVal/Limnoria#1033) or even
during normal nick changes, if the timing is lucky.

Add handling for this error to the startup code and the Admin plugin.

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 01:33:04 -04:00
James McCoy c3695c9419
ircutils: Add formatWhois function
Parsing through the various WHOIS replies to build a formatted string
isn't a trivial task, especially since there is some privacy related
information.  Consolidate this handling into a single function so
there's one place to fix bugs.

Also fix an issue with people putting (unterminated) formatted text into
the "realname" field of their IRC client (c.f., ProgVal/Limnoria#1083).

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-03-26 00:11:36 -04:00
Valentin Lorentz 4470805b5f core: Remove useless imports. 2015-03-03 09:02:29 +01:00
Valentin Lorentz 72e71edb89 Update string comparison to a newer string. 2015-03-03 08:55:29 +01:00
Valentin Lorentz 6f9960d7a4 Fix crash for commands with ambiguous getopts shortcuts and no docstring. 2015-03-03 08:55:29 +01:00
James Lu aba37ff951 conf.py: Remove reference to non-existent? "user configuration variable"
Closes #654.
2015-02-28 00:13:06 -08:00
Valentin Lorentz 9076194009 Merge pull request #1041 from GLolol/admin/configurable-partmsg
Admin/Owner: substitute $version in quit and part messages (also make part messages configurable)
2015-02-27 13:15:25 +01:00
James McCoy a8cd99f121 commands._getRe: Restore original args for any failure
String.re uses first('regexpMatcher', 'regexpReplacer').  If the args
provided to String.re are not a matcher and are longer than a single IRC
message (e.g., from a nested command), then regexpReplacer would never
be tried.  A too long error should be handled the same as running out of
args while trying to find a valid regexp.

Signed-off-by: James McCoy <vega.james@gmail.com>
2015-02-18 22:09:38 -05:00
Valentin Lorentz b99ff28e33 utils.web.getUrl: add the 'timeout' argument (and fix the doc of getUrlFd).
Signed-off-by: James McCoy <vega.james@gmail.com>
2015-02-18 19:53:42 -05:00
Aminda Suomalainen c675654b82 src/i18n.py: have languages in alphabetical order
It's probably not so important, but I don't like them being in any
strange random order. Of course having English first would make sense as
it's the default, but I still prefer alphabetical order.
2015-02-08 09:44:13 +02:00
James Lu 32de4e8270 Merge branch 'testing' into admin/configurable-partmsg 2015-02-07 10:00:48 -08:00
Valentin Lorentz cb6669015e Make ircutils.standardSubstitute accept None as irc and msg. (Preliminary for GH-1041.) 2015-02-07 08:15:42 +01:00
James Lu 5e4501d7d2 i18n.py: mention 'en' as supported lang & quote the language codes for less ambiguity.
Ref #1046.
2015-02-06 15:40:44 -08:00
Aminda Suomalainen 544befd2d0 src/i18n.py: mention supported languages
Closes #1046

I used Admin for sources of what languages are supported as it's usually
recommended to start translating from there (first plugins, then core).
2015-02-06 11:58:24 +02:00
James Lu b243c83e41 Admin/Owner: Use standard substitution for part/quit messages 2015-02-05 20:26:14 -08:00
Valentin Lorentz 681bd5d85d Count number of bytes instead of number of characters for truncating messages. Closes GH-1038. 2015-02-04 17:31:42 +01:00
James Lu 561085cbd1 irclib.py: fix an encoding error with Python 3 and SASL ECDSA-NIST256P-CHALLENGE
Closes ProgVal#1028.
2015-01-24 13:32:13 -05:00
nyuszika7h 5653e0c727 Fix commit 30a026a
Requesting multiple capabilities in one message will result in a NAK for
all of them if at least one is not supported by the server.
2015-01-19 18:12:39 +01:00
Valentin Lorentz 30a026a92a Request multi-prefix capability. (GH-1017) 2015-01-19 17:15:25 +01:00
nyuszika7h bf418756a9 Fix registration timeout when SASL is refused
https://github.com/ProgVal/Limnoria/issues/854#issuecomment-70414650
2015-01-18 21:31:03 +01:00
Valentin Lorentz b0db845604 Merge pull request #1009 from ddan39/master
add usesendMsg=False to irc.reply() to use sendMsg() instead of queueMsg...
2015-01-17 09:58:26 +01:00
Dan bd2d17a1c2 update irc.reply() change new arg name 2015-01-17 03:49:32 -05:00
ddan39 2fe84a3474 add usesendMsg=False to irc.reply() to use sendMsg() instead of queueMsg() 2015-01-17 07:13:30 +01:00
Mikaela Suomalainen 048b00b4a3 src/conf.py: update reply.time.format
I am not fully sure on this change, but T is the official separator
between date and time and `date -Is` uses it.
2015-01-05 20:56:41 +02:00
Max Teufel ef0a2c1cb1 irclib: add support for SASL ECDSA-NIST256P-CHALLENGE
Closes #911
2014-12-29 11:47:57 +01:00
GLolol 1b3a7b2d3e ircutils: also map zfill'd versions of integers in mircColors 2014-12-21 14:19:31 -05:00
James McCoy 4f489fad61 Move project pointers from Sourceforge to GitHub
Closes Supybot/Supybot#7
Signed-off-by: James McCoy <vega.james@gmail.com>
2014-12-18 21:31:59 -05:00
Mikaela Suomalainen 85e9935013 src/conf.py: clear hosts4 & make hosts6 ::0
Closes #756
Fixes #935
2014-12-13 11:07:14 +02:00
Valentin Lorentz 1650860032 RSS: Do no block commands calling while loading a feed. 2014-10-14 20:59:00 +00:00
Valentin Lorentz e0b1796042 Merge pull request #853 from nyuszika7h/disable-log-wrap
Disable log.stdout.wrap by default
2014-10-09 16:06:01 +02:00
Mikaela Suomalainen 9816c8cccb src/conf.py: disable strictRFC by default
strictRFC causes issues when nicks start with numbers and on some
network this happens too often. For example, if nick isn't RFC-compliant,
the bot cannot be used to kick user from channel. Ops cannot change this
so they must op themselves and kick the user by themselves or whatever
they are going to do.

Some IRCds also allow you to change your nick to your UID using `/nick
0` and on others it happens when there is nick collision after netsplit.
2014-09-20 00:50:12 +02:00
nyuszika7h dd3752df17 Disable log.stdout.wrap by default
It causes more issues than it solves. The output might break if you
resize the terminal and it can make logs harder to read.
2014-09-13 13:23:50 +02:00
Valentin Lorentz 537f9b3461 Socket: catch connection errors. 2014-08-30 12:11:00 +02:00
nyuszika7h 18ccc168f5 src/irclib.py: fix typo causing an error on 904 2014-08-30 11:55:31 +02:00
nyuszika7h 414d2d1878 Add support for SASL EXTERNAL 2014-08-27 12:21:22 +02:00
Valentin Lorentz 9323c805a2 Fix help text of supybot.commands.nested. 2014-08-14 19:41:35 +02:00
Valentin Lorentz 60a65b831e commands: Explicitely close the Queue object. 2014-08-14 14:18:47 +02:00
Valentin Lorentz bd1ac36c2c Move disableMultiprocessing from supybot.conf to supybot.world in order for it not to be in the config file. 2014-08-14 14:16:15 +02:00
Mikaela Suomalainen 4abc35dbfc src: update help text of commands.nested.brackets
The shift part only applied to people on American keyboard and not all
users are on that, so it only caused confusion.

Strong historical motivations should be enough for most of people as I
wasn't able to remember the correct brackets when I tried changing them
to `<>` which I feel are the easiest to type on Finnish/Swedish keyboard.

Also update messages.pot & l10n-fi.
2014-08-13 21:08:53 +02:00
Valentin Lorentz a4398a8773 registry: Add CommaSeparatedSetOfStrings. 2014-08-10 18:07:04 +02:00
Valentin Lorentz 0c6315afac Merge pull request #808 from nyuszika7h/fix-who
Fix WHO clash with external plugins (e.g. ChanTracker)
2014-08-05 12:00:31 +02:00
nyuszika7h 037cc98cac Fix capability negotiation 2014-08-05 11:22:56 +02:00
nyuszika7h da817603dd src/irclib.py: use a set instead of a list for Irc.caps 2014-08-04 21:54:44 +02:00
nyuszika7h 581d167e5e src/irclib.py: set caps in Irc.__init__
This allows other plugins to request capabilities in a straightforward
way.
2014-08-04 21:36:00 +02:00
nyuszika7h 20c71df8f9 Fix WHO clash with external plugins (e.g. ChanTracker) 2014-08-04 21:32:13 +02:00
Valentin Lorentz 9385487f54 Simplify and fix logic of umodes filtering. Closes GH-719. 2014-08-04 16:26:23 +02:00
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