def validate_boards(ctx, param, value): # pylint: disable=W0613 pm = PlatformManager() # check installed boards known_boards = set([b['id'] for b in pm.get_installed_boards()]) # if boards are not listed as installed, check registered boards if set(value) - known_boards: known_boards = set([b['id'] for b in pm.get_registered_boards()]) unknown_boards = set(value) - known_boards try: assert not unknown_boards return value except AssertionError: raise click.BadParameter("%s. Please search for the board ID using " "`platformio boards` command" % ", ".join(unknown_boards))
def _get_boards(installed=False): pm = PlatformManager() return pm.get_installed_boards() if installed else pm.get_all_boards()