diff options
| author | Richard Purdie <richard@openedhand.com> | 2008-09-30 15:08:33 +0000 | 
|---|---|---|
| committer | Richard Purdie <richard@openedhand.com> | 2008-09-30 15:08:33 +0000 | 
| commit | c30eddb243e7e65f67f656e62848a033cf6f2e5c (patch) | |
| tree | 110dd95788b76f55d31cb8d30aac2de8400b6f4a /bitbake-dev/lib/bb/msg.py | |
| parent | 5ef0510474004eeb2ae8a99b64e2febb1920e077 (diff) | |
| download | openembedded-core-c30eddb243e7e65f67f656e62848a033cf6f2e5c.tar.gz openembedded-core-c30eddb243e7e65f67f656e62848a033cf6f2e5c.tar.bz2 openembedded-core-c30eddb243e7e65f67f656e62848a033cf6f2e5c.zip | |
Add bitbake-dev to allow ease of testing and development of bitbake trunk
git-svn-id: https://svn.o-hand.com/repos/poky/trunk@5337 311d38ba-8fff-0310-9ca6-ca027cbcb966
Diffstat (limited to 'bitbake-dev/lib/bb/msg.py')
| -rw-r--r-- | bitbake-dev/lib/bb/msg.py | 125 | 
1 files changed, 125 insertions, 0 deletions
| diff --git a/bitbake-dev/lib/bb/msg.py b/bitbake-dev/lib/bb/msg.py new file mode 100644 index 0000000000..7aa0a27d25 --- /dev/null +++ b/bitbake-dev/lib/bb/msg.py @@ -0,0 +1,125 @@ +# ex:ts=4:sw=4:sts=4:et +# -*- tab-width: 4; c-basic-offset: 4; indent-tabs-mode: nil -*- +""" +BitBake 'msg' implementation + +Message handling infrastructure for bitbake + +""" + +# Copyright (C) 2006        Richard Purdie +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License version 2 as +# published by the Free Software Foundation. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License along +# with this program; if not, write to the Free Software Foundation, Inc., +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + +import sys, os, re, bb +from bb import utils, event + +debug_level = {} + +verbose = False + +domain = bb.utils.Enum( +    'Build', +    'Cache', +    'Collection', +    'Data', +    'Depends', +    'Fetcher', +    'Parsing', +    'PersistData', +    'Provider', +    'RunQueue', +    'TaskData', +    'Util') + + +class MsgBase(bb.event.Event): +    """Base class for messages""" + +    def __init__(self, msg, d ): +        self._message = msg +        event.Event.__init__(self, d) + +class MsgDebug(MsgBase): +    """Debug Message""" + +class MsgNote(MsgBase): +    """Note Message""" + +class MsgWarn(MsgBase): +    """Warning Message""" + +class MsgError(MsgBase): +    """Error Message""" + +class MsgFatal(MsgBase): +    """Fatal Message""" + +class MsgPlain(MsgBase): +    """General output""" + +# +# Message control functions +# + +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 + +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) + +# +# Message handling functions +# + +def debug(level, domain, msg, fn = None): +    if not domain: +        domain = 'default' +    if debug_level[domain] >= level: +        bb.event.fire(MsgDebug(msg, None)) + +def note(level, domain, msg, fn = None): +    if not domain: +        domain = 'default' +    if level == 1 or verbose or debug_level[domain] >= 1: +        bb.event.fire(MsgNote(msg, None)) + +def warn(domain, msg, fn = None): +    bb.event.fire(MsgWarn(msg, None)) + +def error(domain, msg, fn = None): +    bb.event.fire(MsgError(msg, None)) +    print 'ERROR: ' + msg + +def fatal(domain, msg, fn = None): +    bb.event.fire(MsgFatal(msg, None)) +    print 'FATAL: ' + msg +    sys.exit(1) + +def plain(msg, fn = None): +    bb.event.fire(MsgPlain(msg, None)) + | 
