aboutsummaryrefslogtreecommitdiff
path: root/trygvis/eda/cli/kicad_bom_to_ttl.py
diff options
context:
space:
mode:
authorTrygve Laugstøl <trygvis@inamo.no>2016-12-28 14:08:52 +0100
committerTrygve Laugstøl <trygvis@inamo.no>2016-12-28 14:08:52 +0100
commit117431b9511be07db8ce53526dbb985b5fad00a2 (patch)
treeabd48f2fec45184c45995d163fc7940cfeb4d423 /trygvis/eda/cli/kicad_bom_to_ttl.py
parentde8665b0b05db10c3257f9c645a09638a4732256 (diff)
downloadeda-rdf-117431b9511be07db8ce53526dbb985b5fad00a2.tar.gz
eda-rdf-117431b9511be07db8ce53526dbb985b5fad00a2.tar.bz2
eda-rdf-117431b9511be07db8ce53526dbb985b5fad00a2.tar.xz
eda-rdf-117431b9511be07db8ce53526dbb985b5fad00a2.zip
o Adding 'digikey-download-metadata' tool that downloads everything from Digi-Key. Should support writing directly to database.
Diffstat (limited to 'trygvis/eda/cli/kicad_bom_to_ttl.py')
-rwxr-xr-xtrygvis/eda/cli/kicad_bom_to_ttl.py25
1 files changed, 22 insertions, 3 deletions
diff --git a/trygvis/eda/cli/kicad_bom_to_ttl.py b/trygvis/eda/cli/kicad_bom_to_ttl.py
index c7d6899..b017767 100755
--- a/trygvis/eda/cli/kicad_bom_to_ttl.py
+++ b/trygvis/eda/cli/kicad_bom_to_ttl.py
@@ -3,6 +3,7 @@
import functools
import os.path
import re
+import sys
import xml.etree.ElementTree
from urllib.parse import quote_plus
@@ -246,9 +247,27 @@ class Export(object):
return kicad_rdf.KICAD_BOARD[title]
-def run(src, dst, args):
- from trygvis.eda import cli
+def run(args):
+ if args.input is not None:
+ src = open(args.input, "r")
+ else:
+ src = sys.stdin
+ if args.output is not None:
+ parent = os.path.dirname(args.output)
+ if not os.path.exists(parent):
+ os.mkdir(parent)
+ dst = open(args.output, "wb")
+ else:
+ dst = sys.stdout.buffer
+
+ schematic_url = args.schematic_url if hasattr(args, 'schematic_url') else None
+
+ with src, dst:
+ process(src, dst, schematic_url)
+
+
+def process(src, dst, schematic_url):
tree = xml.etree.ElementTree.parse(src)
root = tree.getroot()
@@ -316,7 +335,7 @@ def run(src, dst, args):
# if digikey is not None:
# cli.info(' Digikey: %s' % digikey)
- schematic_url = args.schematic_url if hasattr(args, 'schematic_url') else export.generate_schematic_url()
+ schematic_url = schematic_url if schematic_url is not None else export.generate_schematic_url()
# cli.info()
# cli.info('=== Summary ===')