Those variables were confusing because autoconf usually defines DATADIR to
PREFIX/share and gajim uses both defs.datadir=PREFIX/share/gajim and
gajim.DATA_DIR=PREFIX/share/gajim/data.
Now, autoconf will use PKGDATADIR for setting the (renamed) defs.basedir
variable which will be used to set gajimpaths['DATA_DIR'] and
gajimpaths['ICONS_DIR'] in configpaths.py
Gajim will also looks for the ${GAJIM_BASEDIR} environment variable instead of
${datadir} which was really too generic (no namespace).
Length Notifier Plugin has configuration dialog (added entry with JIDs to be included when plugin is working) - fully usable.
Default values of configuration key has been added to GajimPlugin.
Some other minor changes/fixes.
- basic PluginManager class that loads plugins from *.py files
in given directories
- Singleton metaclass was created to use with PluginManager;
notice: __init__ of class is called only once (not like in code
that is included in Python Cookbook)
- variable to keep paths of plugin directories has been created
(common.gajim.PLUGINS_DIRS); also added initilization of these
paths to common.ConfigPaths
- added global variable with PluginManager object:
common.gajim.plugin_manager
- created customized logger for plugin system ('gajim.plugin_system')
- created function decorator plugins.helpers.log_calls which logs
each call of function/method; it also logs when function is left
- base class Plugin for plug-in implementation added; not much
here - only empty class attributes: name, short_name, authors,
version, description
- based on Plugin class, first plugin was created named
LengthNotifierPlugin; it is used to notify users when they
exceed given length of message during writing it (text entry
field highlights)
- first GUI extension points works when ChatControl object
is created (it is used in mentioned plugin)
- added 'epydoc.conf' file customized a little bit (file
is also in trunk now)
- fixed indentation in common.sleepy module (also in trunk
now)
- Added -q, --quiet (speaks for itself)
- Added -l, --loglevel subsystem=LEVEL,subsystem2=LEVEL2,...
- Quell winsock 10035 error. (Equivalent of EINPROGRESS, but winsock likes to have its own error numbers.)
- Hide SSL certificate debug stuff unless gajim.c.x.transports loglevel is DEBUG or lower
- Avoid unicode problems if we set a profile
- Move fingerprint checks from _register_handlers to _connect_success
- Some enhancements to fpr checking code
- In verbose mode, print encodings. (Especially for Windows users who don't have Python) (gajim.py)
- Attempt at fixing traceback when getting user's home directory in Windows. See #2812. (c/configpaths.py)
- Show 'error' icon next to account while waiting for reconnect. Fixes#2786. (c/connection_handlers.py, c/gajim.py, c/connection.py)
[PyOpenSSL]
- Fix 100% CPU usage and hanging connection when server closes connection on us. (c/x/transports_nb.py)
- Fix 'hanging' connection when server closes the connection on us before we can open the XML stream. (Disconnect handler didn't get called.) (c/x/client_nb.py)
- Change prints to logger calls, various enhancements to debug printing, reduce spam (c/x/transports_nb.py)
- this → self (c/x/transports_nb.py)
- Call _do_receive() once to collect error message from socket, when error flag is raised in scheduler. (c/x/transports_nb.py)
if print_time==sometimes : Show the day if needed also. Use locale for time format (do
not force
24h)
Delete a lot of unused locale variables (thanks pychecker)
del gajim.py useless global vars after use
configpaths.py : use self. not this.