Commit c0088fb9 authored by Iustin Pop's avatar Iustin Pop
Browse files

Improve the mcpu.Processor logging routines

As discussed previously, many of the routinges in cmdlib.py are using
logging functions as a carry-over from 1.2 (when these also showed the
message on stderr/to the user), instead of actually warning the user.

This patch extends the syntax for Processor.LogInfo/LogWarning in order
to be easier to use them.

Reviewed-by: imsnah
parent 16653425
......@@ -220,19 +220,31 @@ class Processor(object):
logging.debug("Step %d/%d %s", current, total, message)
self._feedback_fn("STEP %d/%d %s" % (current, total, message))
def LogWarning(self, message, hint=None):
def LogWarning(self, message, *args, **kwargs):
"""Log a warning to the logs and the user.
"""
logging.warning(message)
self._feedback_fn(" - WARNING: %s" % message)
if hint:
self._feedback_fn(" Hint: %s" % hint)
The optional keyword argument is 'hint' and can be used to show a
hint to the user (presumably related to the warning). If the
message is empty, it will not be printed at all, allowing one to
show only a hint.
def LogInfo(self, message):
"""
assert not kwargs or (len(kwargs) == 1 and "hint" in kwargs), \
"Invalid keyword arguments for LogWarning (%s)" % str(kwargs)
if args:
message = message % tuple(args)
if message:
logging.warning(message)
self._feedback_fn(" - WARNING: %s" % message)
if "hint" in kwargs:
self._feedback_fn(" Hint: %s" % kwargs["hint"])
def LogInfo(self, message, *args):
"""Log an informational message to the logs and the user.
"""
if args:
message = message % tuple(args)
logging.info(message)
self._feedback_fn(" - INFO: %s" % message)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment