X-Git-Url: http://git.efficios.com/?a=blobdiff_plain;f=src%2Fbindings%2Fpython%2Fbt2%2Fbt2%2Futils.py;h=6ce992af7df83915119d0f5c2c8e1620826005e4;hb=c345b07873b0cb0ed344bde32a322a1b1edf60ae;hp=393f7ed883ec94f651355b7250d02601b190ff1f;hpb=f5567ea88d172767b34373bc6e402da8bfd85ef8;p=babeltrace.git diff --git a/src/bindings/python/bt2/bt2/utils.py b/src/bindings/python/bt2/bt2/utils.py index 393f7ed8..6ce992af 100644 --- a/src/bindings/python/bt2/bt2/utils.py +++ b/src/bindings/python/bt2/bt2/utils.py @@ -2,9 +2,31 @@ # # Copyright (c) 2017 Philippe Proulx -import bt2 + from bt2 import logging as bt2_logging from bt2 import native_bt +from bt2 import error as bt2_error + + +class UnknownObject(Exception): + """ + Raised when a component class handles a query for an object it doesn't + know about. + """ + + pass + + +class _OverflowError(bt2_error._Error, OverflowError): + pass + + +class TryAgain(Exception): + pass + + +class Stop(StopIteration): + pass def _check_bool(o): @@ -119,30 +141,30 @@ def _handle_func_status(status, msg=None): if status == native_bt.__BT_FUNC_STATUS_ERROR: assert msg is not None - raise bt2._Error(msg) + raise bt2_error._Error(msg) elif status == native_bt.__BT_FUNC_STATUS_MEMORY_ERROR: assert msg is not None - raise bt2._MemoryError(msg) + raise bt2_error._MemoryError(msg) elif status == native_bt.__BT_FUNC_STATUS_END: if msg is None: - raise bt2.Stop + raise Stop else: - raise bt2.Stop(msg) + raise Stop(msg) elif status == native_bt.__BT_FUNC_STATUS_AGAIN: if msg is None: - raise bt2.TryAgain + raise TryAgain else: - raise bt2.TryAgain(msg) + raise TryAgain(msg) elif status == native_bt.__BT_FUNC_STATUS_OVERFLOW_ERROR: if msg is None: - raise bt2._OverflowError + raise _OverflowError else: - raise bt2._OverflowError(msg) + raise _OverflowError(msg) elif status == native_bt.__BT_FUNC_STATUS_UNKNOWN_OBJECT: if msg is None: - raise bt2.UnknownObject + raise UnknownObject else: - raise bt2.UnknownObject(msg) + raise UnknownObject(msg) else: assert False