Warn about unknown device monitor filters // Resolve #4362

This commit is contained in:
Ivan Kravets committed 2022-07-18 17:24:38 +03:00
1 parent 3a70c902a9
commit 73089b3cb0
3 files changed
+18 -2

No files matched your search

+12 -1
View File
@@ -20,7 +20,7 @@ import click
from platformio import exception, fs
from platformio.device.finder import find_serial_port
from platformio.device.monitor.filters.base import register_filters
from platformio.device.monitor.terminal import start_terminal
from platformio.device.monitor.terminal import get_available_filters, start_terminal
from platformio.platform.factory import PlatformFactory
from platformio.project.config import ProjectConfig
from platformio.project.exception import NotPlatformIOProjectError
@@ -138,6 +138,17 @@ def device_monitor_cmd(**options):
"--exit-char can not be the same as --menu-char"
)
# check for unknown filters
known_filters = set(get_available_filters())
unknown_filters = set(options["filters"]) - known_filters
if unknown_filters:
options["filters"] = list(known_filters & set(options["filters"]))
click.secho(
("Warning! Skipping unknown filters `%s`. Known filters are `%s`")
% (", ".join(unknown_filters), ", ".join(sorted(known_filters))),
fg="yellow",
)
start_terminal(options)
+5 -1
View File
@@ -41,6 +41,10 @@ class Terminal(miniterm.Miniterm):
self.pio_unexpected_exception = exc
def get_available_filters():
return sorted(miniterm.TRANSFORMATIONS.keys())
def start_terminal(options):
retries = 0
is_port_valid = False
@@ -116,7 +120,7 @@ def print_terminal_settings(terminal):
)
click.echo(
"--- Available filters and text transformations: %s"
% ", ".join(sorted(miniterm.TRANSFORMATIONS.keys()))
% ", ".join(get_available_filters())
)
click.echo("--- More details at https://bit.ly/pio-monitor-filters")
click.echo(