Log if Zeroconf < 0.16 is detected

pull/454/head
Nicolargo 2014-12-03 23:16:34 +01:00
parent 03743421f0
commit dafcc65d5c
4 changed files with 27 additions and 14 deletions

View File

@ -134,12 +134,12 @@ list_2_countmin=1
[serverlist]
# Define the static server list
server_1_name=localhost
server_1_alias=MonXPS
server_1_alias=My local PC
server_1_port=61209
server_2_name=localhost
server_2_port=61235
server_3_name=192.168.0.17
server_3_alias=VMWin7
server_3_alias=Another PC on my network
server_3_port=61209
server_4_name=pasbon
server_4_port=61237

View File

@ -35,6 +35,15 @@ except ImportError:
# Import Glances libs
from glances.core.glances_globals import appname, logger
# Need Zeroconf 0.16 or higher
try:
from zeroconf import __version__ as __zeroconf_version__
zeroconf_version_t = tuple([int(i) for i in __zeroconf_version__.split('.')])
logger.debug("Zeroconf Python lib %s detected" % __zeroconf_version__)
if (zeroconf_version_t[0] == 0) and (zeroconf_version_t[1] < 16):
logger.warning("Please install Zeroconf Python lib 0.16 or higher")
except ImportError:
pass
# Global var
zeroconf_type = "_%s._tcp." % appname
@ -63,10 +72,10 @@ class AutoDiscovered(object):
'name': name.split(':')[0], # Short name
'ip': ip, # IP address seen by the client
'port': port, # TCP port
'username': 'glances', # Default username
'password': '', # Default password
'status': 'UNKNOWN', # Server status: 'UNKNOWN', 'OFFLINE', 'ONLINE', 'PROTECTED'
'type': 'DYNAMIC', # Server type: 'STATIC' or 'DYNAMIC'
'username': 'glances', # Default username
'password': '', # Default password
'status': 'UNKNOWN', # Server status: 'UNKNOWN', 'OFFLINE', 'ONLINE', 'PROTECTED'
'type': 'DYNAMIC', # Server type: 'STATIC' or 'DYNAMIC'
}
self._server_list.append(new_server)
logger.debug("Updated servers list (%s servers): %s" %

View File

@ -193,14 +193,18 @@ class GlancesClientBrowser(object):
# Return connection type: 'glances' or 'snmp'
connection_type = client.serve_forever(return_to_browser=True)
logger.debug("Disconnect Glances client from the %s server" %
self.get_servers_list()[self.screen.get_active()]['key'])
# Set the ONLINE status for the selected server
if connection_type == 'snmp':
self.set_in_selected('status', 'SNMP')
try:
logger.debug("Disconnect Glances client from the %s server" %
self.get_servers_list()[self.screen.get_active()]['key'])
except IndexError:
# Server did not exist anymore
pass
else:
self.set_in_selected('status', 'ONLINE')
# Set the ONLINE status for the selected server
if connection_type == 'snmp':
self.set_in_selected('status', 'SNMP')
else:
self.set_in_selected('status', 'ONLINE')
# Return to the browser (no server selected)
self.screen.set_active(None)

View File

@ -1079,7 +1079,7 @@ class GlancesCursesBrowser(_GlancesCurses):
# Display server stats
self.term_window.addnstr(y, xc,
"%s" % server_stat[c[0]],
screen_x - xc,
c[2],
self.colors_list[v['status']])
xc += c[2] + self.space_between_column
cpt += 1