forked from platformio/platformio-core
Warn about unknown device monitor filters // Resolve #4362
This commit is contained in:
1 parent
3a70c902a9
commit
73089b3cb0
3 files changed
+18
-2
No files matched your search
@@ -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)
|
||||
|
||||
|
||||
|
||||
@@ -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(
|
||||
|
||||
Reference in new issue
Block a user