minor cleanup of SDT helper
(Boeing r1846)
This commit is contained in:
parent
33ea3e95ec
commit
52bcf71e12
1 changed files with 25 additions and 15 deletions
|
@ -45,20 +45,38 @@ class Sdt(object):
|
||||||
self.sock = None
|
self.sock = None
|
||||||
self.connected = False
|
self.connected = False
|
||||||
self.showerror = True
|
self.showerror = True
|
||||||
self.verbose = self.session.getcfgitembool('verbose', False)
|
|
||||||
self.url = self.DEFAULT_SDT_URL
|
self.url = self.DEFAULT_SDT_URL
|
||||||
|
self.verbose = self.session.getcfgitembool('verbose', False)
|
||||||
# node information for remote nodes not in session._objs
|
# node information for remote nodes not in session._objs
|
||||||
# local nodes also appear here since their obj may not exist yet
|
# local nodes also appear here since their obj may not exist yet
|
||||||
self.remotes = {}
|
self.remotes = {}
|
||||||
session.broker.handlers += (self.handledistributed, )
|
session.broker.handlers += (self.handledistributed, )
|
||||||
|
|
||||||
def is_enabled(self):
|
def is_enabled(self):
|
||||||
|
''' Check for 'enablesdt' session option. Return False by default if
|
||||||
|
the option is missing.
|
||||||
|
'''
|
||||||
if not hasattr(self.session.options, 'enablesdt'):
|
if not hasattr(self.session.options, 'enablesdt'):
|
||||||
return False
|
return False
|
||||||
if self.session.options.enablesdt == '1':
|
enabled = self.session.options.enablesdt
|
||||||
|
if enabled in ('1', 'true', 1, True):
|
||||||
return True
|
return True
|
||||||
return False
|
return False
|
||||||
|
|
||||||
|
def seturl(self):
|
||||||
|
''' Read 'sdturl' from session options, or use the default value.
|
||||||
|
Set self.url, self.address, self.protocol
|
||||||
|
'''
|
||||||
|
url = None
|
||||||
|
if hasattr(self.session.options,'sdturl'):
|
||||||
|
if self.session.options.sdturl != "":
|
||||||
|
url = self.session.options.sdturl
|
||||||
|
if url is None or url == "":
|
||||||
|
url = self.DEFAULT_SDT_URL
|
||||||
|
self.url = urlparse(url)
|
||||||
|
self.address = (self.url.hostname, self.url.port)
|
||||||
|
self.protocol = self.url.scheme
|
||||||
|
|
||||||
def connect(self, flags=0):
|
def connect(self, flags=0):
|
||||||
''' Connect to the SDT address/port if enabled.
|
''' Connect to the SDT address/port if enabled.
|
||||||
'''
|
'''
|
||||||
|
@ -69,17 +87,7 @@ class Sdt(object):
|
||||||
if self.session.getstate() == coreapi.CORE_EVENT_SHUTDOWN_STATE:
|
if self.session.getstate() == coreapi.CORE_EVENT_SHUTDOWN_STATE:
|
||||||
return False
|
return False
|
||||||
|
|
||||||
if hasattr(self.session.options,'sdturl'):
|
self.seturl()
|
||||||
self.url = urlparse(self.session.options.sdturl)
|
|
||||||
if self.session.options.sdturl == "":
|
|
||||||
self.url = urlparse(self.DEFAULT_SDT_URL)
|
|
||||||
if self.showerror:
|
|
||||||
self.session.info("sdturl: %s invalid. Using default sdturl %s" % \
|
|
||||||
(self.session.options.sdturl, \
|
|
||||||
self.DEFAULT_SDT_URL))
|
|
||||||
|
|
||||||
self.address = (self.url.hostname,self.url.port)
|
|
||||||
self.protocol = self.url.scheme
|
|
||||||
if self.showerror:
|
if self.showerror:
|
||||||
self.session.info("connecting to SDT at %s://%s" \
|
self.session.info("connecting to SDT at %s://%s" \
|
||||||
% (self.protocol, self.address))
|
% (self.protocol, self.address))
|
||||||
|
@ -90,9 +98,11 @@ class Sdt(object):
|
||||||
self.sock.connect(self.address)
|
self.sock.connect(self.address)
|
||||||
else:
|
else:
|
||||||
# Default to tcp
|
# Default to tcp
|
||||||
self.sock = socket.create_connection(self.address,5)
|
self.sock = socket.create_connection(self.address, 5)
|
||||||
except Exception, e:
|
except Exception, e:
|
||||||
self.session.warn("SDT socket connect error: %s" % e)
|
if self.showerror:
|
||||||
|
self.session.warn("SDT socket connect error: %s" % e)
|
||||||
|
self.showerror = False
|
||||||
return False
|
return False
|
||||||
if not self.initialize():
|
if not self.initialize():
|
||||||
return False
|
return False
|
||||||
|
|
Loading…
Reference in a new issue