Use .env or CLI for paths and options

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-02-11 12:33:40 +13:00
parent ed5c186f4d
commit 6c1ae59f2d
2 changed files with 9 additions and 5 deletions

View File

@@ -4,8 +4,7 @@ Parse Protel PCB 2.8 ASCII (or Protel 99 SE PCB ASCII) and output capacitors
by net pair: JSON with net pair as key, designator/value/package and total by net pair: JSON with net pair as key, designator/value/package and total
capacitance per net pair. capacitance per net pair.
Input/output paths are read from .env (INPUT_FILE, OUTPUT_FILE) if set; All paths: use .env (INPUT_FILE, OUTPUT_FILE) or CLI; CLI overrides .env.
CLI arguments override them.
Usage: Usage:
python capacitors_by_net_pair.py [file.pcb] [-o output.json] python capacitors_by_net_pair.py [file.pcb] [-o output.json]

View File

@@ -3,7 +3,7 @@
Load two Protel PCB 2.8 ASCII files and report which components have moved Load two Protel PCB 2.8 ASCII files and report which components have moved
between them. Component position is taken as the centroid of pin coordinates. between them. Component position is taken as the centroid of pin coordinates.
Input/output paths can be set in .env (FILE1, FILE2, COMPARE_OUTPUT); CLI overrides. All paths: use .env (FILE1, FILE2, COMPARE_OUTPUT) or CLI; CLI overrides .env.
Usage: Usage:
python3 compare_protel_locations.py file1.pcb file2.pcb [-o report.json] python3 compare_protel_locations.py file1.pcb file2.pcb [-o report.json]
@@ -101,6 +101,11 @@ def main() -> int:
os.environ.get("COMPARE_OUTPUT", "").strip() os.environ.get("COMPARE_OUTPUT", "").strip()
or "output/compare_locations.json" or "output/compare_locations.json"
) )
default_threshold = os.environ.get("THRESHOLD", "").strip()
try:
default_threshold = float(default_threshold) if default_threshold else 1.0
except ValueError:
default_threshold = 1.0
parser = argparse.ArgumentParser( parser = argparse.ArgumentParser(
description="Compare two Protel PCB ASCII files and list components that moved" description="Compare two Protel PCB ASCII files and list components that moved"
@@ -126,8 +131,8 @@ def main() -> int:
parser.add_argument( parser.add_argument(
"--threshold", "--threshold",
type=float, type=float,
default=1.0, default=default_threshold,
help="Minimum position change to count as moved (default: 1.0)", help="Minimum position change to count as moved (default: THRESHOLD from .env or 1.0)",
) )
args = parser.parse_args() args = parser.parse_args()