Add support for get_pty to SSHClient.exec_command()

This commit is contained in:
Michael van der Kolff 2012-11-30 22:02:09 +11:00
parent 70fce374b4
commit cd51bfc031
1 changed files with 3 additions and 1 deletions

View File

@ -349,7 +349,7 @@ class SSHClient (object):
self._agent.close() self._agent.close()
self._agent = None self._agent = None
def exec_command(self, command, bufsize=-1, timeout=None): def exec_command(self, command, bufsize=-1, timeout=None, get_pty=False):
""" """
Execute a command on the SSH server. A new L{Channel} is opened and Execute a command on the SSH server. A new L{Channel} is opened and
the requested command is executed. The command's input and output the requested command is executed. The command's input and output
@ -368,6 +368,8 @@ class SSHClient (object):
@raise SSHException: if the server fails to execute the command @raise SSHException: if the server fails to execute the command
""" """
chan = self._transport.open_session() chan = self._transport.open_session()
if(get_pty):
chan.get_pty()
chan.settimeout(timeout) chan.settimeout(timeout)
chan.exec_command(command) chan.exec_command(command)
stdin = chan.makefile('wb', bufsize) stdin = chan.makefile('wb', bufsize)