From: Christopher Larson Date: Sat, 30 Apr 2016 19:43:53 +0000 (-0700) Subject: bb.event: handle __builtins__ as a module X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=a3e5d9337f5400aab13df63f261e750178f8a661;p=thirdparty%2Fopenembedded%2Fopenembedded-core-contrib.git bb.event: handle __builtins__ as a module Fixes pypy support. Signed-off-by: Christopher Larson Signed-off-by: Richard Purdie --- diff --git a/lib/bb/event.py b/lib/bb/event.py index 5ffe89eae3e..5a03a31f436 100644 --- a/lib/bb/event.py +++ b/lib/bb/event.py @@ -72,11 +72,16 @@ _catchall_handlers = {} _eventfilter = None _uiready = False +if hasattr(__builtins__, '__setitem__'): + builtins = __builtins__ +else: + builtins = __builtins__.__dict__ + def execute_handler(name, handler, event, d): event.data = d addedd = False - if 'd' not in __builtins__: - __builtins__['d'] = d + if 'd' not in builtins: + builtins['d'] = d addedd = True try: ret = handler(event) @@ -94,7 +99,7 @@ def execute_handler(name, handler, event, d): finally: del event.data if addedd: - del __builtins__['d'] + del builtins['d'] def fire_class_handlers(event, d): if isinstance(event, logging.LogRecord):