summaryrefslogtreecommitdiff
path: root/bitbake/lib/bb/msg.py
diff options
context:
space:
mode:
Diffstat (limited to 'bitbake/lib/bb/msg.py')
-rw-r--r--bitbake/lib/bb/msg.py108
1 files changed, 62 insertions, 46 deletions
diff --git a/bitbake/lib/bb/msg.py b/bitbake/lib/bb/msg.py
index 3fcf7091be..cea5efb5a4 100644
--- a/bitbake/lib/bb/msg.py
+++ b/bitbake/lib/bb/msg.py
@@ -22,26 +22,32 @@ Message handling infrastructure for bitbake
# with this program; if not, write to the Free Software Foundation, Inc.,
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
-import sys, bb
-from bb import event
-
-debug_level = {}
+import sys
+import collections
+import bb
+import bb.event
+debug_level = collections.defaultdict(lambda: 0)
verbose = False
-domain = bb.utils.Enum(
- 'Build',
- 'Cache',
- 'Collection',
- 'Data',
- 'Depends',
- 'Fetcher',
- 'Parsing',
- 'PersistData',
- 'Provider',
- 'RunQueue',
- 'TaskData',
- 'Util')
+def _NamedTuple(name, fields):
+ Tuple = collections.namedtuple(name, " ".join(fields))
+ return Tuple(*range(len(fields)))
+
+domain = _NamedTuple("Domain", (
+ "Default",
+ "Build",
+ "Cache",
+ "Collection",
+ "Data",
+ "Depends",
+ "Fetcher",
+ "Parsing",
+ "PersistData",
+ "Provider",
+ "RunQueue",
+ "TaskData",
+ "Util"))
class MsgBase(bb.event.Event):
@@ -49,7 +55,7 @@ class MsgBase(bb.event.Event):
def __init__(self, msg):
self._message = msg
- event.Event.__init__(self)
+ bb.event.Event.__init__(self)
class MsgDebug(MsgBase):
"""Debug Message"""
@@ -74,52 +80,62 @@ class MsgPlain(MsgBase):
#
def set_debug_level(level):
- bb.msg.debug_level = {}
- for domain in bb.msg.domain:
- bb.msg.debug_level[domain] = level
- bb.msg.debug_level['default'] = level
+ for d in domain:
+ debug_level[d] = level
+ debug_level[domain.Default] = level
+
+def get_debug_level(msgdomain = domain.Default):
+ return debug_level[msgdomain]
def set_verbose(level):
- bb.msg.verbose = level
-
-def set_debug_domains(domains):
- for domain in domains:
- found = False
- for ddomain in bb.msg.domain:
- if domain == str(ddomain):
- bb.msg.debug_level[ddomain] = bb.msg.debug_level[ddomain] + 1
- found = True
- if not found:
- bb.msg.warn(None, "Logging domain %s is not valid, ignoring" % domain)
+ verbose = level
+
+def set_debug_domains(strdomains):
+ for domainstr in strdomains:
+ for d in domain:
+ if domain._fields[d] == domainstr:
+ debug_level[d] += 1
+ break
+ else:
+ warn(None, "Logging domain %s is not valid, ignoring" % domainstr)
#
# Message handling functions
#
-def debug(level, domain, msg, fn = None):
- if not domain:
- domain = 'default'
- if debug_level[domain] >= level:
+def debug(level, msgdomain, msg, fn = None):
+ if not msgdomain:
+ msgdomain = domain.Default
+
+ if debug_level[msgdomain] >= level:
bb.event.fire(MsgDebug(msg), None)
+ if not bb.event._ui_handlers:
+ print('DEBUG: ' + msg)
+
+def note(level, msgdomain, msg, fn = None):
+ if not msgdomain:
+ msgdomain = domain.Default
-def note(level, domain, msg, fn = None):
- if not domain:
- domain = 'default'
- if level == 1 or verbose or debug_level[domain] >= 1:
+ if level == 1 or verbose or debug_level[msgdomain] >= 1:
bb.event.fire(MsgNote(msg), None)
+ if not bb.event._ui_handlers:
+ print('NOTE: ' + msg)
-def warn(domain, msg, fn = None):
+def warn(msgdomain, msg, fn = None):
bb.event.fire(MsgWarn(msg), None)
+ if not bb.event._ui_handlers:
+ print('WARNING: ' + msg)
-def error(domain, msg, fn = None):
+def error(msgdomain, msg, fn = None):
bb.event.fire(MsgError(msg), None)
print 'ERROR: ' + msg
-def fatal(domain, msg, fn = None):
+def fatal(msgdomain, msg, fn = None):
bb.event.fire(MsgFatal(msg), None)
- print 'FATAL: ' + msg
+ print('FATAL: ' + msg)
sys.exit(1)
def plain(msg, fn = None):
bb.event.fire(MsgPlain(msg), None)
-
+ if not bb.event._ui_handlers:
+ print(msg)