diff --git a/glances/outputs/static/js/components/plugin-ip/controller.js b/glances/outputs/static/js/components/plugin-ip/controller.js index 427b7023..7cfb972c 100644 --- a/glances/outputs/static/js/components/plugin-ip/controller.js +++ b/glances/outputs/static/js/components/plugin-ip/controller.js @@ -25,5 +25,6 @@ export default function GlancesPluginIpController($scope, GlancesStats, ARGUMENT vm.mask = ipStats.mask; vm.maskCidr = ipStats.mask_cidr; vm.publicAddress = ipStats.public_address + vm.publicInfo = ipStats.public_info_human } } diff --git a/glances/outputs/static/js/components/plugin-ip/view.html b/glances/outputs/static/js/components/plugin-ip/view.html index d96387c0..d68f4835 100644 --- a/glances/outputs/static/js/components/plugin-ip/view.html +++ b/glances/outputs/static/js/components/plugin-ip/view.html @@ -1,4 +1,8 @@
-  - IP {{ vm.address }}/{{ vm.maskCidr }} Pub {{ vm.publicAddress }} + - + IP + {{ vm.address }}/{{ vm.maskCidr }} + Pub + {{ vm.publicAddress }} + ({{ vm.publicInfo }})
diff --git a/glances/outputs/static/public/glances.js b/glances/outputs/static/public/glances.js index 094fb657..9e5dacb4 100644 Binary files a/glances/outputs/static/public/glances.js and b/glances/outputs/static/public/glances.js differ diff --git a/glances/outputs/static/public/glances.map.js b/glances/outputs/static/public/glances.map.js index d967382f..089f0f26 100644 Binary files a/glances/outputs/static/public/glances.map.js and b/glances/outputs/static/public/glances.map.js differ diff --git a/glances/plugins/glances_ip.py b/glances/plugins/glances_ip.py index 71320a75..47ba94f1 100644 --- a/glances/plugins/glances_ip.py +++ b/glances/plugins/glances_ip.py @@ -128,6 +128,7 @@ class Plugin(GlancesPlugin): else: stats['public_address'] = self.public_address stats['public_info'] = self.public_info + stats['public_info_human'] = self.public_info_for_human(stats['public_info']) elif self.input_method == 'snmp': # Not implemented yet @@ -174,23 +175,30 @@ class Plugin(GlancesPlugin): ret.append(self.curse_add_line(msg, 'TITLE', optional=True)) ret.append(self.curse_add_line(msg_pub, optional=True)) - if 'public_info' in self.stats and self.stats['public_info']: - field_result = [] - for f in self.censys_fields: - field = f.split(':') - if len(field) == 1 and field[0] in self.stats['public_info']: - field_result.append('{}'.format(self.stats['public_info'][field[0]])) - elif ( - len(field) == 2 - and field[0] in self.stats['public_info'] - and field[1] in self.stats['public_info'][field[0]] - ): - field_result.append('{}'.format(self.stats['public_info'][field[0]][field[1]])) - ret.append(self.curse_add_line(' ', optional=True)) - ret.append(self.curse_add_line('/'.join(field_result), optional=True)) + if self.stats['public_info_human']: + ret.append(self.curse_add_line(' {}'.format(self.stats['public_info_human']), + optional=True)) return ret + def public_info_for_human(self, public_info): + """Return the data to pack to the client.""" + if not public_info: + return '' + + field_result = [] + for f in self.censys_fields: + field = f.split(':') + if len(field) == 1 and field[0] in public_info: + field_result.append('{}'.format(public_info[field[0]])) + elif ( + len(field) == 2 + and field[0] in public_info + and field[1] in public_info[field[0]] + ): + field_result.append('{}'.format(public_info[field[0]][field[1]])) + return '/'.join(field_result) + @staticmethod def ip_to_cidr(ip): """Convert IP address to CIDR.