aboutsummaryrefslogtreecommitdiff
path: root/trygvis/eda/cli/eda_rdf.py
diff options
context:
space:
mode:
Diffstat (limited to 'trygvis/eda/cli/eda_rdf.py')
-rw-r--r--trygvis/eda/cli/eda_rdf.py69
1 files changed, 69 insertions, 0 deletions
diff --git a/trygvis/eda/cli/eda_rdf.py b/trygvis/eda/cli/eda_rdf.py
new file mode 100644
index 0000000..4e80e93
--- /dev/null
+++ b/trygvis/eda/cli/eda_rdf.py
@@ -0,0 +1,69 @@
+import argparse
+import sys
+import trygvis.eda.cli as cli
+
+
+def main():
+ parser = argparse.ArgumentParser()
+
+ subparsers = parser.add_subparsers(dest="cmd")
+
+ p = subparsers.add_parser("kicad-bom-to-ttl")
+ p.add_argument("-o", "--output", required=False)
+ p.add_argument("-i", "--input", required=False)
+
+ p = subparsers.add_parser("add-to-db")
+ p.add_argument("-d", "--db", required=True)
+ p.add_argument("files", nargs='*')
+
+ p = subparsers.add_parser("make-bom")
+ p.add_argument("-d", "--db", required=True)
+ p.add_argument("--schematic", required=True)
+
+ p = subparsers.add_parser("digikey-download-for-schematic")
+ p.add_argument("-d", "--db", required=True)
+ p.add_argument("--schematic", required=True)
+
+ p = subparsers.add_parser("digikey-download-attribute-types-for-category")
+ p.add_argument("-c", "--category", required=True)
+ p.add_argument("-s", "--sub-category", required=True)
+ p.add_argument("-o", "--output", required=False)
+
+ args = parser.parse_args()
+
+ cli.init()
+
+ if args.cmd == "kicad-bom-to-ttl":
+ from trygvis.eda.cli import kicad_bom_to_ttl
+
+ if args.input is not None:
+ src = open(args.input, "r")
+ else:
+ src = sys.stdin
+
+ if args.output is not None:
+ dst = open(args.output, "wb")
+ else:
+ dst = sys.stdout.buffer
+
+ with src, dst:
+ kicad_bom_to_ttl.run(src, dst, args)
+
+ elif args.cmd == "add-to-db":
+ from trygvis.eda.cli import add_to_db
+
+ add_to_db.run(args.files, args.db, args)
+
+ elif args.cmd == "make-bom":
+ from trygvis.eda.cli import make_bom
+
+ make_bom.run(args.schematic, args.db, args)
+
+ elif args.cmd == "digikey-download-for-schematic":
+ from trygvis.eda.cli import digikey_download_for_schematic
+ digikey_download_for_schematic.run(args.schematic, args.db, args)
+ elif args.cmd == "digikey-download-attribute-types-for-category":
+ from trygvis.eda.cli import digikey_download_attribute_types_for_category
+ digikey_download_attribute_types_for_category.run(args.category, args.sub_category, args.output, args)
+ else:
+ sys.exit("Unknown command: %s" % args.cmd)