def watch_call(method_name,arg_test= any_args):
    """ Adds a Conditionnal Breakpoint to the method method_name of the decorated obj
    """
    def make_watcher(obj): 
        class _watch(obj):
            def __init__(self,*a,**k):
                init= getattr(obj,'__init__',None) 
                if init: return init(self,*a,**k)                
            def _watched_method(self,*a,**k):
                if arg_test(self,*a,**k):
                    This_is_a_breakpoint= True # Put a breakpoint here, or take any other action
                return obj.__dict__[method_name](self,*a ,**k)        
        setattr(_watch,method_name,_watch._watched_method)
        return _watch
    return make_watcher
 Adds a Conditionnal Breakpoint to the method method_name of the decorated obj
    
recipes/Python/577874_Conditionnal_Breakpoint/recipe-577874.py