def disconnect(self, timeout=None, blocking=True):
        self.socket_client.disconnect()
        if blocking:
            self.join(timeout=timeout)
If CLI roles are provided they replace roles defined in @roles.
dataset/ETHPy150Open balloob/pychromecast/pychromecast/__init__.py/Chromecast.disconnect--crossover with--dataset/ETHPy150Open fabric/fabric/tests/test_main.py/test_cli_roles_override_decorator_roles