<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def ignore_callback(instance, *props):
 """ Temporarily ignore any callbacks from one or more callback properties This is a context manager. Within the context block, no callbacks will be issued. In contrast with :func:`~echo.delay_callback`, no callbakcs will be called on exiting the context manager Parameters instance An instance object with callback properties *props : str One or more properties within instance to ignore Examples -------- :: with ignore_callback(foo, 'bar', 'baz'):
 f.bar = 20 f.baz = 30 f.bar = 10 print('done') # no callbacks called """

    for prop in props:
        p = getattr(type(instance), prop)
        if not isinstance(p, CallbackProperty):
            raise TypeError("%s is not a CallbackProperty" % prop)
        p.disable(instance)

    if isinstance(instance, HasCallbackProperties):
        instance._ignore_global_callbacks(props)

    yield

    for prop in props:
        p = getattr(type(instance), prop)
        assert isinstance(p, CallbackProperty)
        p.enable(instance)

    if isinstance(instance, HasCallbackProperties):
        instance._unignore_global_callbacks(props)