import subprocess import pipes import re class NetworkManagerConnector: NMCLI_BASE = ["nmcli", "--mode", "tabular", "--terse", "--colors", "no"] def _call_nmcli(self, args, parse=True): subp = subprocess.run(self.NMCLI_BASE + args, capture_output=True, text=True) if parse: return [ [field.replace("\\:", ":") for field in re.split(r"(?