Python Fabric: сценарий прерывается при управлении интерактивным приглашением - PullRequest
0 голосов
/ 19 марта 2019

У меня есть сценарий фабрики для запуска команды, когда требуется захватить и ответить на приглашение 2, как следует

with settings(prompts={"Press 'q' to quit once you have read the license.":"q", "Do you accept the license? [Y/N] ":"y"}, warn_only=True):
            run('myscript.sh')

Скрипт Python будет прерван после ответа на первое приглашение (закончите чтение лицензии). Ошибки

Файл "/usr/local/lib/python2.7/dist-packages/fabric/network.py", строка 687, в host_prompting_wrapper return func (* args, ** kwargs)

Файл "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", линия 1090, в бегах shell_escape = shell_escape, capture_buffer_size = capture_buffer_size,

Файл "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", строка 933, в _run_command capture_buffer_size = capture_buffer_size)

Файл "/usr/local/lib/python2.7/dist-packages/fabric/operations.py", линия 829, в _execute worker.raise_if_needed ()

Файл "/Usr/local/lib/python2.7/dist-packages/fabric/thread_handling.py", строка 12, в обертке вызываемый (* args, ** kwargs)

Файл "/usr/local/lib/python2.7/dist-packages/fabric/io.py", строка 32, в output_loop OutputLooper (* args, ** kwargs) .loop ()

Файл "/usr/local/lib/python2.7/dist-packages/fabric/io.py", строка 153, в петля self.chan.sendall (str (ответ) + '\ n')

Файл "/usr/local/lib/python2.7/dist-packages/paramiko/channel.py", линия 846, в сендалле отправлено = self.send

Файл "/usr/local/lib/python2.7/dist-packages/paramiko/channel.py", линия 801, в отправке вернуть self._send (s, m)

Файл "/usr/local/lib/python2.7/dist-packages/paramiko/channel.py", линия 1180, в _send поднять socket.error («Сокет закрыт»)

Похоже, он не смог обработать более 1 запроса?

...