Imap re-connection is not working.
Connection exceptions (socket.error, socket.gaierror, IMAP4.abort) can
be raise during any imap operations, not only on connection
establishment.
Also the idle thread call start() on thread multiple times, but this is
not allowed by python. The thread is not daemonize, so the thread code
can be never runned if the python process is busy. And the module is
located in imaplib2.imaplib2.IMAP4 not imaplib2.IMAP4...
This change fixes all of that.
Weather.com's XML feed is now defunct, this commit includes a rewritten
Weather.com module which uses the same JSON feed used by the website
itself.
The weather updates now happen in a separate thread rather than
happening in the ``run()`` function. Since the ``run()`` function is
executed before any of the mouse events are run, this was causing the
mouse event callbacks to result in a flurry of weather updates, which
caused the Weather Underground API to be overutilized beyond its rate
limit.
When a desktop notification is displayed but there is no notification
daemon running, an exception is raised.
This fixes the traceback by adding a logger to the DesktopNotification
class, and logging an error when the exception is caught.
Fixes#453.
When the pytz dep was reintroduced, this made all TZ usage reliant upon
a tzinfo object generated by pytz. This had the effect of making the
``%Z`` strftime placeholder evaluate as blank when a timezone is not
explicitly defined (i.e. when the format is just a format string and
not a tuple containing the format string and timezone).
This commit resolves this regression by using pytz to build a tzinfo
object from either /etc/localtime or /etc/timezone during the ``init()``
function, establishing the system TZ to be used for those cases where no
TZ was specified.
Somehow I accidentially had 2 win_percent values being set in the cdict,
one of which was a string that breaks when you try to round off the
remainder.
The openstack novaclient has updated it's auth mechanism, deprecating
the method used in this module. This patch updates the novaclient
authentication call to leverage this new auth method.