|
35 | 35 | boards_local_txt = None |
36 | 36 | if "--boards-local-txt" in sys.argv: |
37 | 37 | COPY_BOARDS_LOCAL_TXT = True |
38 | | - if sys.argv.index("--boards-local-txt") + 1 >= len(sys.argv): |
| 38 | + if sys.argv.index("--boards-local-txt") + 1 == len(sys.argv): |
39 | 39 | # check if in cwd |
40 | 40 | if os.path.exists("boards.local.txt"): |
41 | 41 | boards_local_txt = "boards.local.txt" |
42 | 42 | else: |
43 | 43 | sys.stderr.write("Error: --boards-local-txt option requires a path to boards.local.txt file or to be present in current directory\n") |
44 | 44 | sys.exit(1) |
45 | 45 | else: |
46 | | - # get the boards.local.txt file from the command line |
| 46 | + # check second arg is file or another flag: |
| 47 | + if sys.argv[sys.argv.index("--boards-local-txt") + 1].startswith("--"): |
| 48 | + if os.path.exists("boards.local.txt"): |
| 49 | + boards_local_txt = "boards.local.txt" |
| 50 | + else: |
| 51 | + sys.stderr.write("Error: --boards-local-txt option requires a path to boards.local.txt file (or to be present in current directory)\n") |
| 52 | + sys.exit(1) |
| 53 | + # get the boards.local.txt file from the command line (index exists checked earlier) |
47 | 54 | if not os.path.exists(sys.argv[sys.argv.index("--boards-local-txt") + 1]): |
48 | 55 | sys.stderr.write("Error: boards.local.txt file does not exist\n") |
49 | 56 | sys.exit(1) |
@@ -482,7 +489,7 @@ def install_boards_local_txt(core_fqbn, boards_local_txt): |
482 | 489 | config_output = subprocess.check_output(["arduino-cli", "config", "dump", "--format", "json"]).decode() |
483 | 490 | config = json.loads(config_output) |
484 | 491 | ColorPrint.print_info(f"Using arduino-cli config: {config_output.strip()}") |
485 | | - |
| 492 | + |
486 | 493 | # Extract data directory, with fallback to default |
487 | 494 | data_dir = config.get("directories", {}).get("data", "") |
488 | 495 | if not data_dir: |
@@ -529,7 +536,7 @@ def install_boards_local_txt(core_fqbn, boards_local_txt): |
529 | 536 | # Sort versions and take the latest (could be improved with proper version sorting) |
530 | 537 | latest_version = sorted(versions)[-1] |
531 | 538 | platform_path = os.path.join(platform_base, latest_version) |
532 | | - |
| 539 | + |
533 | 540 | dest_path = os.path.join(platform_path, "boards.local.txt") |
534 | 541 | shutil.copyfile(boards_local_txt, dest_path) |
535 | 542 | ColorPrint.print_info(f"Copied boards.local.txt to {dest_path}") |
@@ -573,7 +580,7 @@ def main(): |
573 | 580 | if COPY_BOARDS_LOCAL_TXT and boards_local_txt: |
574 | 581 | install_boards_local_txt(core_fqbn, boards_local_txt) |
575 | 582 | print('#'*80) |
576 | | - |
| 583 | + |
577 | 584 | # Test examples in the platform folder |
578 | 585 | if not IS_LEARNING_SYS: |
579 | 586 | test_examples_in_folder(platform, BUILD_DIR+"/examples") |
|
0 commit comments