Robot Framework SSH Library
sshconnectioncache.py
Go to the documentation of this file.
1 from robot.utils import ConnectionCache
2 
3 
4 class SSHConnectionCache(ConnectionCache):
5  def __init__(self):
6  ConnectionCache.__init__(self, no_current_msg='No open connection.')
7 
8  @property
9  connections = property
10 
11  def connections(self):
12  return self._connections
13 
14  @property
15  aliases = property
16 
17  def aliases(self):
18  return self._aliases
19 
20  def close_current(self):
21  connection = self.currentcurrent
22  connection.close()
23  if connection.config.alias is not None:
24  self.aliasesaliasesaliases.pop(connection.config.alias)
25  idx = connection.config.index - 1
26  self.connectionsconnectionsconnections[idx] = self.currentcurrent = self._no_current
27 
28  def close_all(self):
29  open_connections = (conn for conn in self._connections if conn)
30  for connection in open_connections:
31  connection.close()
32  self.empty_cache()
33  return self.currentcurrent
34 
35  def get_connection(self, alias_or_index=None):
36  connection = super(SSHConnectionCache, self).get_connection(alias_or_index)
37  if not connection:
38  raise RuntimeError("Non-existing index or alias '%s'." % alias_or_index)
39  return connection