this removes an old, general field, which was once used for multiple
things, but we should break apart its functional usage and also just
refer to our IrcChannel object anyway
this is the easy half of issue #3
Better plugin (un)loading --- more logging, !reload plugin with option
of reloading entire package
In addition to a variety of logging and internal changes, this
also adds a !reload [plugin] command, which, where 'plugin' is
'package.ircplugin', just does a simple unload/load on the
plugin, but where 'plugin' is 'package.', reloads all modules
in the specified package (assuming it is still a plugin's
package), which allows for making more code changes and applying
them without having to restart the bot.
Like all things this internal to the bot, this probably needs
the tires kicked a bit more, but initial testing has succeeded.
See merge request !2
in addition to being a convenient unload plugin, load plugin, this also
uses importlib.reload() to kick the interpreter to reload changed code
inside the plugin's package, if the user requests to reload the entire
package. this seems safe so far
(famous last words)
this shouldn't have happened, but i'm guessing some previous crash put
some buggy data into my database, so let's just be careful and do this.
a k1,k2 could have had any value for v, but not knowing what else to do
in this corner case, we'll just use a stop and let the caller decide
if they want to keep going
Upgrade dr.botzo to Python 3
The py3 branch brings dr.botzo to the point that it's able to run in a Python 3.4 environment. All IRC plugins have been tested on an actual network.
Due to 2to3's behavior with unicode_literals, this should *not* be run in a Python 2 environment, as the once-unicode-safe literals might be mistreated again.
See merge request !1
this has been tested in a python 3.4 environment. i'm not sure if all of
these changes were necessary to make this py3 compatible, but it works,
so i'm committing it