Source code for hal.wrappers.errors

# -*- coding: utf-8 -*-

"""Wrappers to function that handle errors"""

import functools


[docs]def true_false_returns(func): """Executes function, if error returns False, else True :param func: function to call :return: True iff ok, else False """ @functools.wraps(func) def _execute(*args, **kwargs): """Executes function, if error returns False, else True :param args: args of function :param kwargs: extra args of function :param *args: args :param **kwargs: extra args :return: True iff ok, else False """ try: func(*args, **kwargs) return True except: return False return _execute
[docs]def none_returns(func): """Executes function, if error returns None else value of function :param func: function to call :return: None else value of function """ @functools.wraps(func) def _execute(*args, **kwargs): """Executes function, if error returns None else value of function :param args: args of function :param kwargs: extra args of function :param *args: args :param **kwargs: extra args :return: None else value of function """ try: return func(*args, **kwargs) except: return None return _execute