mirror of
https://github.com/nicolargo/glances.git
synced 2025-01-04 07:34:49 +03:00
Use str.format() automatic numbering
We don't support Python 2.6 any longer.
This commit is contained in:
parent
781dfeef0c
commit
deaa17a74f
@ -112,9 +112,8 @@ class Export(GlancesExport):
|
|||||||
session.set_keyspace(self.keyspace)
|
session.set_keyspace(self.keyspace)
|
||||||
|
|
||||||
logger.info(
|
logger.info(
|
||||||
"Stats will be exported to Cassandra cluster {0} ({1}) in keyspace {2}".format(cluster.metadata.cluster_name,
|
"Stats will be exported to Cassandra cluster {} ({}) in keyspace {}".format(
|
||||||
cluster.metadata.all_hosts(),
|
cluster.metadata.cluster_name, cluster.metadata.all_hosts(), self.keyspace))
|
||||||
self.keyspace))
|
|
||||||
|
|
||||||
# Table
|
# Table
|
||||||
try:
|
try:
|
||||||
|
@ -163,7 +163,7 @@ Start the client browser (browser mode):\n\
|
|||||||
parser.add_argument('--export-graph', action='store_true', default=None,
|
parser.add_argument('--export-graph', action='store_true', default=None,
|
||||||
dest='export_graph', help='export stats to graphs')
|
dest='export_graph', help='export stats to graphs')
|
||||||
parser.add_argument('--path-graph', default=tempfile.gettempdir(),
|
parser.add_argument('--path-graph', default=tempfile.gettempdir(),
|
||||||
dest='path_graph', help='set the export path for graphs (default is {0})'.format(tempfile.gettempdir()))
|
dest='path_graph', help='set the export path for graphs (default is {})'.format(tempfile.gettempdir()))
|
||||||
parser.add_argument('--export-csv', default=None,
|
parser.add_argument('--export-csv', default=None,
|
||||||
dest='export_csv', help='export stats to a CSV file')
|
dest='export_csv', help='export stats to a CSV file')
|
||||||
parser.add_argument('--export-influxdb', action='store_true', default=False,
|
parser.add_argument('--export-influxdb', action='store_true', default=False,
|
||||||
@ -372,10 +372,10 @@ Start the client browser (browser mode):\n\
|
|||||||
if args.export_graph and args.path_graph is not None:
|
if args.export_graph and args.path_graph is not None:
|
||||||
if not os.access(args.path_graph, os.W_OK):
|
if not os.access(args.path_graph, os.W_OK):
|
||||||
logger.critical(
|
logger.critical(
|
||||||
"Graphs output path {0} do not exist or is not writable".format(args.path_graph))
|
"Graphs output path {} doesn't exist or is not writable".format(args.path_graph))
|
||||||
sys.exit(2)
|
sys.exit(2)
|
||||||
logger.debug(
|
logger.debug(
|
||||||
"Graphs output path is set to {0}".format(args.path_graph))
|
"Graphs output path is set to {}".format(args.path_graph))
|
||||||
|
|
||||||
# For export graph, history is mandatory
|
# For export graph, history is mandatory
|
||||||
if args.export_graph and args.disable_history:
|
if args.export_graph and args.disable_history:
|
||||||
|
@ -744,10 +744,10 @@ class _GlancesCurses(object):
|
|||||||
# Generate history graph
|
# Generate history graph
|
||||||
if self.graph_tag and self.args.export_graph:
|
if self.graph_tag and self.args.export_graph:
|
||||||
self.display_popup(
|
self.display_popup(
|
||||||
'Generate graphs history in {0}\nPlease wait...'.format(
|
'Generate graphs history in {}\nPlease wait...'.format(
|
||||||
self.glances_graph.get_output_folder()))
|
self.glances_graph.get_output_folder()))
|
||||||
self.display_popup(
|
self.display_popup(
|
||||||
'Generate graphs history in {0}\nDone: {1} graphs generated'.format(
|
'Generate graphs history in {}\nDone: {} graphs generated'.format(
|
||||||
self.glances_graph.get_output_folder(),
|
self.glances_graph.get_output_folder(),
|
||||||
self.glances_graph.generate_graph(stats)))
|
self.glances_graph.generate_graph(stats)))
|
||||||
elif self.reset_history_tag and self.args.export_graph:
|
elif self.reset_history_tag and self.args.export_graph:
|
||||||
|
@ -265,7 +265,7 @@ class Plugin(GlancesPlugin):
|
|||||||
cpu_new['nb_core'] = len(all_stats['cpu_stats']['cpu_usage']['percpu_usage'] or [])
|
cpu_new['nb_core'] = len(all_stats['cpu_stats']['cpu_usage']['percpu_usage'] or [])
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
# all_stats do not have CPU information
|
# all_stats do not have CPU information
|
||||||
logger.debug("Can not grab CPU usage for container {0} ({1})".format(container_id, e))
|
logger.debug("Cannot grab CPU usage for container {} ({})".format(container_id, e))
|
||||||
logger.debug(all_stats)
|
logger.debug(all_stats)
|
||||||
else:
|
else:
|
||||||
# Previous CPU stats stored in the cpu_old variable
|
# Previous CPU stats stored in the cpu_old variable
|
||||||
@ -336,7 +336,7 @@ class Plugin(GlancesPlugin):
|
|||||||
netcounters = all_stats["networks"]
|
netcounters = all_stats["networks"]
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
# all_stats do not have NETWORK information
|
# all_stats do not have NETWORK information
|
||||||
logger.debug("Can not grab NET usage for container {0} ({1})".format(container_id, e))
|
logger.debug("Cannot grab NET usage for container {} ({})".format(container_id, e))
|
||||||
logger.debug(all_stats)
|
logger.debug(all_stats)
|
||||||
# No fallback available...
|
# No fallback available...
|
||||||
return network_new
|
return network_new
|
||||||
@ -360,14 +360,14 @@ class Plugin(GlancesPlugin):
|
|||||||
# XML/RPC API, which would otherwise be overly difficult work
|
# XML/RPC API, which would otherwise be overly difficult work
|
||||||
# for users of the API
|
# for users of the API
|
||||||
try:
|
try:
|
||||||
network_new['time_since_update'] = getTimeSinceLastUpdate('docker_net_{0}'.format(container_id))
|
network_new['time_since_update'] = getTimeSinceLastUpdate('docker_net_{}'.format(container_id))
|
||||||
network_new['rx'] = netcounters["eth0"]["rx_bytes"] - self.netcounters_old[container_id]["eth0"]["rx_bytes"]
|
network_new['rx'] = netcounters["eth0"]["rx_bytes"] - self.netcounters_old[container_id]["eth0"]["rx_bytes"]
|
||||||
network_new['tx'] = netcounters["eth0"]["tx_bytes"] - self.netcounters_old[container_id]["eth0"]["tx_bytes"]
|
network_new['tx'] = netcounters["eth0"]["tx_bytes"] - self.netcounters_old[container_id]["eth0"]["tx_bytes"]
|
||||||
network_new['cumulative_rx'] = netcounters["eth0"]["rx_bytes"]
|
network_new['cumulative_rx'] = netcounters["eth0"]["rx_bytes"]
|
||||||
network_new['cumulative_tx'] = netcounters["eth0"]["tx_bytes"]
|
network_new['cumulative_tx'] = netcounters["eth0"]["tx_bytes"]
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
# all_stats do not have INTERFACE information
|
# all_stats do not have INTERFACE information
|
||||||
logger.debug("Can not grab network interface usage for container {0} ({1})".format(container_id, e))
|
logger.debug("Cannot grab network interface usage for container {} ({})".format(container_id, e))
|
||||||
logger.debug(all_stats)
|
logger.debug(all_stats)
|
||||||
|
|
||||||
# Save stats to compute next bitrate
|
# Save stats to compute next bitrate
|
||||||
@ -394,7 +394,7 @@ class Plugin(GlancesPlugin):
|
|||||||
iocounters = all_stats["blkio_stats"]
|
iocounters = all_stats["blkio_stats"]
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
# all_stats do not have io information
|
# all_stats do not have io information
|
||||||
logger.debug("Can not grab block IO usage for container {0} ({1})".format(container_id, e))
|
logger.debug("Cannot grab block IO usage for container {} ({})".format(container_id, e))
|
||||||
logger.debug(all_stats)
|
logger.debug(all_stats)
|
||||||
# No fallback available...
|
# No fallback available...
|
||||||
return io_new
|
return io_new
|
||||||
|
@ -50,11 +50,11 @@ class Plugin(GlancesPlugin):
|
|||||||
pass
|
pass
|
||||||
|
|
||||||
def generate_view_data(self):
|
def generate_view_data(self):
|
||||||
self.view_data['version'] = '{0} {1}'.format('Glances', __version__)
|
self.view_data['version'] = '{} {}'.format('Glances', __version__)
|
||||||
self.view_data['psutil_version'] = ' with PSutil {0}'.format(psutil_version)
|
self.view_data['psutil_version'] = ' with PSutil {}'.format(psutil_version)
|
||||||
|
|
||||||
try:
|
try:
|
||||||
self.view_data['configuration_file'] = 'Configuration file: {0}'.format(self.config.loaded_config_file)
|
self.view_data['configuration_file'] = 'Configuration file: {}'.format(self.config.loaded_config_file)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
@ -186,7 +186,7 @@ class PublicIpAddress(object):
|
|||||||
try:
|
try:
|
||||||
response = urlopen(url, timeout=self.timeout).read().decode('utf-8')
|
response = urlopen(url, timeout=self.timeout).read().decode('utf-8')
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("IP plugin - Can not open URL {0} ({1})".format(url, e))
|
logger.debug("IP plugin - Cannot open URL {} ({})".format(url, e))
|
||||||
queue_target.put(None)
|
queue_target.put(None)
|
||||||
else:
|
else:
|
||||||
# Request depend on service
|
# Request depend on service
|
||||||
|
@ -114,14 +114,14 @@ class GlancesPlugin(object):
|
|||||||
"""Init the stats history (dict of GlancesAttribute)."""
|
"""Init the stats history (dict of GlancesAttribute)."""
|
||||||
if self._history_enable():
|
if self._history_enable():
|
||||||
init_list = [a['name'] for a in self.get_items_history_list()]
|
init_list = [a['name'] for a in self.get_items_history_list()]
|
||||||
logger.debug("Stats history activated for plugin {0} (items: {1})".format(self.plugin_name, init_list))
|
logger.debug("Stats history activated for plugin {} (items: {})".format(self.plugin_name, init_list))
|
||||||
return GlancesHistory()
|
return GlancesHistory()
|
||||||
|
|
||||||
def reset_stats_history(self):
|
def reset_stats_history(self):
|
||||||
"""Reset the stats history (dict of GlancesAttribute)."""
|
"""Reset the stats history (dict of GlancesAttribute)."""
|
||||||
if self._history_enable():
|
if self._history_enable():
|
||||||
reset_list = [a['name'] for a in self.get_items_history_list()]
|
reset_list = [a['name'] for a in self.get_items_history_list()]
|
||||||
logger.debug("Reset history for plugin {0} (items: {1})".format(self.plugin_name, reset_list))
|
logger.debug("Reset history for plugin {} (items: {})".format(self.plugin_name, reset_list))
|
||||||
self.stats_history.reset()
|
self.stats_history.reset()
|
||||||
|
|
||||||
def update_stats_history(self):
|
def update_stats_history(self):
|
||||||
@ -202,7 +202,7 @@ class GlancesPlugin(object):
|
|||||||
try:
|
try:
|
||||||
return self._json_dumps({item: s[item]})
|
return self._json_dumps({item: s[item]})
|
||||||
except KeyError as e:
|
except KeyError as e:
|
||||||
logger.error("Cannot get item history {0} ({1})".format(item, e))
|
logger.error("Cannot get item history {} ({})".format(item, e))
|
||||||
return None
|
return None
|
||||||
elif isinstance(s, list):
|
elif isinstance(s, list):
|
||||||
try:
|
try:
|
||||||
@ -210,7 +210,7 @@ class GlancesPlugin(object):
|
|||||||
# http://stackoverflow.com/questions/4573875/python-get-index-of-dictionary-item-in-list
|
# http://stackoverflow.com/questions/4573875/python-get-index-of-dictionary-item-in-list
|
||||||
return self._json_dumps({item: map(itemgetter(item), s)})
|
return self._json_dumps({item: map(itemgetter(item), s)})
|
||||||
except (KeyError, ValueError) as e:
|
except (KeyError, ValueError) as e:
|
||||||
logger.error("Cannot get item history {0} ({1})".format(item, e))
|
logger.error("Cannot get item history {} ({})".format(item, e))
|
||||||
return None
|
return None
|
||||||
else:
|
else:
|
||||||
return None
|
return None
|
||||||
@ -429,7 +429,7 @@ class GlancesPlugin(object):
|
|||||||
# Read the global section
|
# Read the global section
|
||||||
if config.has_section('global'):
|
if config.has_section('global'):
|
||||||
self._limits['history_size'] = config.get_float_value('global', 'history_size', default=28800)
|
self._limits['history_size'] = config.get_float_value('global', 'history_size', default=28800)
|
||||||
logger.debug("Load configuration key: {0} = {1}".format('history_size', self._limits['history_size']))
|
logger.debug("Load configuration key: {} = {}".format('history_size', self._limits['history_size']))
|
||||||
|
|
||||||
# Read the plugin specific section
|
# Read the plugin specific section
|
||||||
if config.has_section(self.plugin_name):
|
if config.has_section(self.plugin_name):
|
||||||
|
@ -209,7 +209,7 @@ class ThreadScanner(threading.Thread):
|
|||||||
try:
|
try:
|
||||||
ip = socket.gethostbyname(hostname)
|
ip = socket.gethostbyname(hostname)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("{0}: Can not convert {1} to IP address ({2})".format(self.plugin_name, hostname, e))
|
logger.debug("{}: Cannot convert {} to IP address ({})".format(self.plugin_name, hostname, e))
|
||||||
return ip
|
return ip
|
||||||
|
|
||||||
def _port_scan_icmp(self, port):
|
def _port_scan_icmp(self, port):
|
||||||
@ -230,7 +230,7 @@ class ThreadScanner(threading.Thread):
|
|||||||
else:
|
else:
|
||||||
port['status'] = False
|
port['status'] = False
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("{0}: Error while pinging host ({2})".format(self.plugin_name, port['host'], e))
|
logger.debug("{}: Error while pinging host {} ({})".format(self.plugin_name, port['host'], e))
|
||||||
|
|
||||||
return ret
|
return ret
|
||||||
|
|
||||||
@ -243,7 +243,7 @@ class ThreadScanner(threading.Thread):
|
|||||||
socket.setdefaulttimeout(port['timeout'])
|
socket.setdefaulttimeout(port['timeout'])
|
||||||
_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("{0}: Error while creating scanning socket".format(self.plugin_name))
|
logger.debug("{}: Error while creating scanning socket".format(self.plugin_name))
|
||||||
|
|
||||||
# Scan port
|
# Scan port
|
||||||
ip = self._resolv_name(port['host'])
|
ip = self._resolv_name(port['host'])
|
||||||
@ -251,7 +251,7 @@ class ThreadScanner(threading.Thread):
|
|||||||
try:
|
try:
|
||||||
ret = _socket.connect_ex((ip, int(port['port'])))
|
ret = _socket.connect_ex((ip, int(port['port'])))
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.debug("{0}: Error while scanning port {1} ({2})".format(self.plugin_name, port, e))
|
logger.debug("0}: Error while scanning port {} ({})".format(self.plugin_name, port, e))
|
||||||
else:
|
else:
|
||||||
if ret == 0:
|
if ret == 0:
|
||||||
port['status'] = counter.get()
|
port['status'] = counter.get()
|
||||||
|
2
setup.py
2
setup.py
@ -62,7 +62,7 @@ class tests(Command):
|
|||||||
glances_version = get_version()
|
glances_version = get_version()
|
||||||
|
|
||||||
if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 3):
|
if sys.version_info < (2, 7) or (3, 0) <= sys.version_info < (3, 3):
|
||||||
print('Glances {0} require at least Python 2.7 or 3.3 to run.'.format(glances_version))
|
print('Glances {} require at least Python 2.7 or 3.3 to run.'.format(glances_version))
|
||||||
print('Please install Glances 2.6.2 on your system.')
|
print('Please install Glances 2.6.2 on your system.')
|
||||||
sys.exit(1)
|
sys.exit(1)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user