[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 json
|
||||
import uuid
|
||||
import logging
|
||||
|
||||
import bumblebee.store
|
||||
import bumblebee.util
|
||||
|
||||
log = logging.getLogger(__name__)
|
||||
|
||||
def scrollable(func):
|
||||
def wrapper(module, widget):
|
||||
text = func(module, widget)
|
||||
|
@ -178,6 +181,9 @@ class I3BarOutput(object):
|
|||
if self._config and self._config.reverse():
|
||||
widgets = list(reversed(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):
|
||||
"""Finalizes output"""
|
||||
|
|
|
@ -9,13 +9,19 @@ class Store(object):
|
|||
"""Interface for storing and retrieving simple values"""
|
||||
def __init__(self):
|
||||
self._data = {}
|
||||
self._unused = {}
|
||||
|
||||
def set(self, key, value):
|
||||
"""Set 'key' to 'value', overwriting 'key' if it exists already"""
|
||||
self._data[key] = value
|
||||
self._unused[key] = value
|
||||
|
||||
def unused_keys(self):
|
||||
return self._unused.keys()
|
||||
|
||||
def get(self, key, default=None):
|
||||
"""Return the current value of 'key', or 'default' if 'key' is not set"""
|
||||
self._unused.pop(key, None)
|
||||
return self._data.get(key, default)
|
||||
|
||||
# vim: tabstop=8 expandtab shiftwidth=4 softtabstop=4
|
||||
|
|
Loading…
Reference in a new issue