# -*- coding: utf-8 -*- from __future__ import unicode_literals import subprocess import re class NetworkManagerConnector: NMCLI_BASE = ["nmcli", "--mode", "tabular", "--terse", "--colors", "no"] def _call_nmcli(self, args, parse=True): try: subp = subprocess.check_output(self.NMCLI_BASE + args).decode("utf-8") except subprocess.CalledProcessError as err: subp = err.output.decode("utf-8") if parse: # if no output if subp.strip() == "": return [] return [ [field.replace("\\:", ":") for field in re.split(r"(?