aboutsummaryrefslogtreecommitdiffstats
path: root/osmopy
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-02-27 01:31:02 +0100
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2017-03-06 15:31:08 +0100
commit4e64b8821d73b29edab2e0a945ba3c05587cfd3a (patch)
treee0054a8a2b8faa78206ca77db68f0ceff5f978ac /osmopy
parent8e9f30f3e12b59d2a432bd0306f08a9825d42f5e (diff)
cosmetic: put socket connection code in separate function
Prepare for upcoming patch that adds connection retries to speed up tests. Change-Id: I2dddf8794b4241898373178c8a1aa2e98b01095c
Diffstat (limited to 'osmopy')
-rwxr-xr-xosmopy/obscvty.py25
1 files changed, 15 insertions, 10 deletions
diff --git a/osmopy/obscvty.py b/osmopy/obscvty.py
index f5c85fb..857d75b 100755
--- a/osmopy/obscvty.py
+++ b/osmopy/obscvty.py
@@ -68,6 +68,19 @@ class VTYInteract(object):
self.priv_end = re.compile('\r\n%s(?:\(([\w-]*)\))?# $' % self.name)
self.last_node = ''
+ def _connect_socket(self):
+ if self.socket is not None:
+ return
+ self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
+ self.socket.setblocking(1)
+ self.socket.connect((self.host, self.port))
+ if debug_tcp_sockets:
+ VTYInteract.all_sockets.append(self.socket)
+ print "Socket: connected to %s:%d %r (%d sockets open)" % (
+ self.host, self.port, self.socket,
+ len(VTYInteract.all_sockets))
+ self.socket.recv(4096)
+
def _close_socket(self):
global debug_tcp_sockets
if self.socket is None:
@@ -141,16 +154,8 @@ class VTYInteract(object):
global debug_tcp_sockets
if not ends:
ends = [self.norm_end, self.priv_end]
- if not self.socket:
- self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
- self.socket.setblocking(1)
- self.socket.connect((self.host, self.port))
- if debug_tcp_sockets:
- VTYInteract.all_sockets.append(self.socket)
- print "Socket: connected to %s:%d %r (%d sockets open)" % (
- self.host, self.port, self.socket,
- len(VTYInteract.all_sockets))
- self.socket.recv(4096)
+
+ self._connect_socket()
# Now send the command
self.socket.send("%s\r" % request)