def disconnect(self, obj, name, callback, user_arg=None, weak_args=None, user_args=None):
        signals = setdefaultattr(obj, self._signal_attr, {})
        if name not in signals:
            return

        handlers = signals[name]

        # Do the same processing as in connect, so we can compare the
        # resulting tuple.
        user_args = self._prepare_user_args(weak_args, user_args)

        # Remove the given handler
        for h in handlers:
            if h[1:] == (callback, user_arg, user_args):
                return self.disconnect_by_key(obj, name, h[0])
Check hunk header data matches entered lines info.
dataset/ETHPy150Open AnyMesh/anyMesh-Python/example/urwid/signals.py/Signals.disconnect--crossover with--dataset/ETHPy150Open matiasb/python-unidiff/unidiff/patch.py/Hunk.is_valid