From b118493a46121e74955bf9e4fe45d8d06074bde6 Mon Sep 17 00:00:00 2001 From: Nick Hilliard Date: Sat, 2 Dec 2017 21:59:45 +0000 Subject: [PATCH] strip whitespace from lines earlier in the processing sequence. EXOS will arbitrarily emit config lines with trailing whitespace and who knows what sort of stuff users will put into template files. Best to get strip() of all this as early as possible. --- pyEXOS/exos.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/pyEXOS/exos.py b/pyEXOS/exos.py index 847be13..68e6244 100644 --- a/pyEXOS/exos.py +++ b/pyEXOS/exos.py @@ -106,6 +106,8 @@ def load_candidate_config(self, filename=None, config=None): else: self.candidate_config = config.splitlines() + self.candidate_config = [line.strip() for line in self.candidate_config] + def commit_config(self): """ Commit candidate_config to the device. @@ -157,6 +159,7 @@ def get_running_config(self): try: output = self.device.send_command('show configuration', delay_factor=20) self.running_config = output.splitlines() + self.running_config = [line.strip() for line in self.running_config] except (ValueError, IndexError, IOError): raise @@ -202,8 +205,8 @@ def compare_replace_config(self): # make sure we have the running_config self.get_running_config() - replace_diff = difflib.unified_diff([x.strip() for x in self.running_config], - [x.strip() for x in self.candidate_config], + replace_diff = difflib.unified_diff(self.running_config, + self.candidate_config, fromfile='running_config.conf', tofile='candidate_config.conf', lineterm='')