Commit Graph

36 Commits

Author SHA1 Message Date
Valentin Lorentz f54588f9dd Add a 'limnoria.plugins entrypoint, to discover plugins installed via pip/setuptools. 2020-05-08 22:02:05 +02:00
Valentin Lorentz de77ce6ddc Raise exception instead of assert... 2020-03-21 02:21:06 +01:00
Valentin Lorentz 8f001f8045 Check spec.loader is not None when importing a plugin. 2020-02-09 16:02:35 +01:00
Valentin Lorentz 9ab908759a Use importlib instead of imp.
importlib is deprecated.
2020-01-26 12:00:08 +01:00
Valentin Lorentz 8652c683ab Fix case-insensitive plugin loading if a plugin is in two directories. 2017-01-22 21:22:39 +01:00
Valentin Lorentz 216c5d213f Replace sys.version_info[0] usages with minisix.PY{2,3}. 2015-08-09 00:23:03 +02:00
Valentin Lorentz 39dad55b6f Make renaming of commands persistant. Closes GH-789. 2014-07-18 20:43:24 +02: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 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 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
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
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
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
Valentin Lorentz 39fa7e68d3 Fix syntax error 2011-03-05 09:51:05 +01:00
Valentin Lorentz 65d737873b Add another solution in error message about TypeErrors raised in plugins' __init__() 2011-03-05 09:44:40 +01:00
James Vega 6986fc7abe Do not store the install directory in directories.plugins
We automatically determine the directory anyway, so there's no need to clutter
the config file with it.  Instead, simply include the directory when we
perform the search for the plugin.

Signed-off-by: James Vega <jamessan@users.sourceforge.net>
2009-03-12 14:50:46 -04:00
James Vega a3e4fc5b1d Change the modeline to use softtabstop instead of tabstop. 2006-02-11 15:52:51 +00:00
James Vega 9971e991fe Fix the modelines. 2005-03-23 20:07:45 +00:00
James Vega 7c5463dd3e Add some more assertion messages. 2005-03-22 19:03:02 +00:00
James Vega 181c623703 Make our error message for the Plugin.__init__ changes better and try to prevent spurious, invalid error messages. 2005-02-23 00:04:07 +00:00
Jeremy Fincher 2a75f4b83d Added a classModule attribute to plugins to have easy access to it (the new plugin format made that significantly harder for us; this is an easy workaround). 2005-02-18 06:14:17 +00:00
Jeremy Fincher 56ad1ead58 I don't know why this hunk of code was there, but it was causing problems for the Plugin plugin, so I removed it. 2005-02-09 07:06:05 +00:00
James Vega d9e5b719b6 Explanatory error message about the change to callbacks.Privmsg*'s __init__ prototype. 2005-02-08 03:35:26 +00:00
James Vega 68d3b830da Remove the use of format() in logger functions since they handle it natively. 2005-02-01 13:43:57 +00:00
James Vega de89bf0265 Update usage of utils.str functions. 2005-01-31 14:52:27 +00:00
James Vega 28cb5abc65 Update usage of functions in utils.gen. 2005-01-31 13:06:43 +00:00
Jeremy Fincher 381a42d863 Added an "irc" argument to callbacks.Privmsg.__init__, so now plugins get an Irc on instantiation. 2005-01-29 19:16:29 +00:00
Jeremy Fincher 5fd6bbb52d Completely restructured our utils modules.
Tons of changes.  Here's the summary of things that matter most:

* There is no more supybot.fix.
* There is no more supybot.webutils; now there is supybot.utils.web.
  * It's no longer webutils.WebError, but just utils.web.Error.
* You shouldn't import itertools, ideally, but instead import utils.iter.
* No more using imap/ifilter in commands unless absolutely necessary.  It's
  premature optimization and annoying.
* utils.str.format isn't quite ready yet, but will be soon.  That'll be the
  next big thing to fix in our code.
2005-01-27 06:59:08 +00:00
Jeremy Fincher 863c0e6ad2 Moved loadPlugin{Module,Class} to its own module in src/ 2005-01-19 23:22:35 +00:00