[core] Log parameter that were not used after each draw
Whenever a new bar is being drawn, log out all parameters that were not used at all. This might indicate a bug in the module, or might point to a spelling error in the parameter name. fixes #494
This commit is contained in:
parent
a5cfc802ff
commit
2e26f6d0c4
2 changed files with 12 additions and 0 deletions
|
@ -5,10 +5,13 @@
|
||||||
import sys
|
import sys
|
||||||
import json
|
import json
|
||||||
import uuid
|
import uuid
|
||||||
|
import logging
|
||||||
|
|
||||||
import bumblebee.store
|
import bumblebee.store
|
||||||
import bumblebee.util
|
import bumblebee.util
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
def scrollable(func):
|
def scrollable(func):
|
||||||
def wrapper(module, widget):
|
def wrapper(module, widget):
|
||||||
text = func(module, widget)
|
text = func(module, widget)
|
||||||
|
@ -178,6 +181,9 @@ class I3BarOutput(object):
|
||||||
if self._config and self._config.reverse():
|
if self._config and self._config.reverse():
|
||||||
widgets = list(reversed(widgets))
|
widgets = list(reversed(widgets))
|
||||||
sys.stdout.write(json.dumps(widgets))
|
sys.stdout.write(json.dumps(widgets))
|
||||||
|
if len(self._config.unused_keys()) > 0:
|
||||||
|
for key in self._config.unused_keys():
|
||||||
|
log.warning("unused parameter {} - please check the documentation of the affected module to ensure the parameter exists".format(key))
|
||||||
|
|
||||||
def end(self):
|
def end(self):
|
||||||
"""Finalizes output"""
|
"""Finalizes output"""
|
||||||
|
|
|
@ -9,13 +9,19 @@ class Store(object):
|
||||||
"""Interface for storing and retrieving simple values"""
|
"""Interface for storing and retrieving simple values"""
|
||||||
def __init__(self):
|
def __init__(self):
|
||||||
self._data = {}
|
self._data = {}
|
||||||
|
self._unused = {}
|
||||||
|
|
||||||
def set(self, key, value):
|
def set(self, key, value):
|
||||||
"""Set 'key' to 'value', overwriting 'key' if it exists already"""
|
"""Set 'key' to 'value', overwriting 'key' if it exists already"""
|
||||||
self._data[key] = value
|
self._data[key] = value
|
||||||
|
self._unused[key] = value
|
||||||
|
|
||||||
|
def unused_keys(self):
|
||||||
|
return self._unused.keys()
|
||||||
|
|
||||||
def get(self, key, default=None):
|
def get(self, key, default=None):
|
||||||
"""Return the current value of 'key', or 'default' if 'key' is not set"""
|
"""Return the current value of 'key', or 'default' if 'key' is not set"""
|
||||||
|
self._unused.pop(key, None)
|
||||||
return self._data.get(key, default)
|
return self._data.get(key, default)
|
||||||
|
|
||||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||||
|
|
Loading…
Reference in a new issue