As correctly pointed out by @rrhuffy, restricting update intervals to
minutes is pretty arbitrary. Therefore, change logic to specify updates
intervals in *seconds*.
Also, to maintain backwards compatibility for users that already have
custom intervals in their config, allow a module to specify their own
"factor" for intervals. So a module that expects the interval to be in
minutes can set the factor to 60.
Use generic interval mechanism in most of the modules that use slow
updates.
Only exception: getcrypto, as the interval is specified in seconds there
and I want to retain backwards-compatibility.
fixes#220
In python2, filter returned a list, but in python3 it returns an iterator. So
we wrap this in a list() so that it works in both. We also want to count the
unread notifications, so this should be reflected in the code.
If data cannot be retrieved for some reason (be pretty generous about
that by catching generic exceptions), instead of terminating the whole
status bar, simply report unknown data.
see #110