diff --git a/platformio/__init__.py b/platformio/__init__.py index 78e2efe3..a3b6db6e 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -14,7 +14,7 @@ import sys -VERSION = (2, 8, "0.dev4") +VERSION = (2, 8, "0.dev5") __version__ = ".".join([str(s) for s in VERSION]) __title__ = "platformio" diff --git a/platformio/util.py b/platformio/util.py index 63a605f7..5285b151 100644 --- a/platformio/util.py +++ b/platformio/util.py @@ -272,9 +272,18 @@ def get_serialports(): from serial.tools.list_ports import comports except ImportError: raise exception.GetSerialPortsError(os.name) - result = [{"port": p, "description": unicode(d, errors='ignore'), - "hwid": h} - for p, d, h in comports() if p] + + result = [] + for p, d, h in comports(): + if not p: + continue + if "windows" in get_systype(): + try: + d = unicode(d, errors="ignore") + except TypeError: + pass + result.append({"port": p, "description": d, "hwid": h}) + # fix for PySerial if not result and system() == "Darwin": for p in glob("/dev/tty.*"):