diff options
Diffstat (limited to 'trygvis/eda/cli/eda_rdf.py')
-rw-r--r-- | trygvis/eda/cli/eda_rdf.py | 69 |
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) |