From 05e79a4bb2137ee3ea563ced7f64b033c41eb438 Mon Sep 17 00:00:00 2001 From: Thomas Mangin Date: Tue, 31 Mar 2020 16:59:33 +0100 Subject: ifconfig: T2057: allow to disable interface debugging In order to be able to use the interface class with operational mode, these commands must not log as it would otherwise mess with the output on the screen. --- python/vyos/ifconfig/control.py | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'python/vyos/ifconfig/control.py') diff --git a/python/vyos/ifconfig/control.py b/python/vyos/ifconfig/control.py index 1c9f7e284..c1a073aef 100644 --- a/python/vyos/ifconfig/control.py +++ b/python/vyos/ifconfig/control.py @@ -24,8 +24,18 @@ class Control(Register): _command_get = {} _command_set = {} + def __init__(self, **kargs): + # some commands (such as operation comands - show interfaces, etc.) + # need to query the interface statistics. If the interface + # code is used and the debugging is enabled, the screen output + # will include both the command but also the debugging for that command + # to prevent this, debugging can be explicitely disabled + + # if debug is not explicitely disabled the the config, enable it + self.debug = kargs.get('debug', True) + def _debug_msg(self, msg): - if os.path.isfile('/tmp/vyos.ifconfig.debug'): + if os.path.isfile('/tmp/vyos.ifconfig.debug') and self.debug: print('DEBUG/{:<6} {}'.format(self.config['ifname'], msg)) def _popen(self, command): -- cgit v1.2.3