summaryrefslogtreecommitdiff
path: root/third_party/Python/module/pexpect-2.4/examples/ssh_session.py
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/Python/module/pexpect-2.4/examples/ssh_session.py')
-rw-r--r--third_party/Python/module/pexpect-2.4/examples/ssh_session.py93
1 files changed, 0 insertions, 93 deletions
diff --git a/third_party/Python/module/pexpect-2.4/examples/ssh_session.py b/third_party/Python/module/pexpect-2.4/examples/ssh_session.py
deleted file mode 100644
index 222a72c16931..000000000000
--- a/third_party/Python/module/pexpect-2.4/examples/ssh_session.py
+++ /dev/null
@@ -1,93 +0,0 @@
-#
-# Eric S. Raymond
-#
-# Greatly modified by Nigel W. Moriarty
-# April 2003
-#
-from pexpect import *
-import os
-import sys
-import getpass
-import time
-
-
-class ssh_session:
-
- "Session with extra state including the password to be used."
-
- def __init__(self, user, host, password=None, verbose=0):
-
- self.user = user
- self.host = host
- self.verbose = verbose
- self.password = password
- self.keys = [
- 'authenticity',
- 'assword:',
- '@@@@@@@@@@@@',
- 'Command not found.',
- EOF,
- ]
-
- self.f = open('ssh.out', 'w')
-
- def __repr__(self):
-
- outl = 'class :' + self.__class__.__name__
- for attr in self.__dict__:
- if attr == 'password':
- outl += '\n\t' + attr + ' : ' + '*' * len(self.password)
- else:
- outl += '\n\t' + attr + ' : ' + str(getattr(self, attr))
- return outl
-
- def __exec(self, command):
- "Execute a command on the remote host. Return the output."
- child = spawn(command,
- # timeout=10,
- )
- if self.verbose:
- sys.stderr.write("-> " + command + "\n")
- seen = child.expect(self.keys)
- self.f.write(str(child.before) + str(child.after) + '\n')
- if seen == 0:
- child.sendline('yes')
- seen = child.expect(self.keys)
- if seen == 1:
- if not self.password:
- self.password = getpass.getpass('Remote password: ')
- child.sendline(self.password)
- child.readline()
- time.sleep(5)
- # Added to allow the background running of remote process
- if not child.isalive():
- seen = child.expect(self.keys)
- if seen == 2:
- lines = child.readlines()
- self.f.write(lines)
- if self.verbose:
- sys.stderr.write("<- " + child.before + "|\n")
- try:
- self.f.write(str(child.before) + str(child.after) + '\n')
- except:
- pass
- self.f.close()
- return child.before
-
- def ssh(self, command):
-
- return self.__exec("ssh -l %s %s \"%s\""
- % (self.user, self.host, command))
-
- def scp(self, src, dst):
-
- return self.__exec("scp %s %s@%s:%s"
- % (src, session.user, session.host, dst))
-
- def exists(self, file):
- "Retrieve file permissions of specified remote file."
- seen = self.ssh("/bin/ls -ld %s" % file)
- if string.find(seen, "No such file") > -1:
- return None # File doesn't exist
- else:
- return seen.split()[0] # Return permission field of listing.