kicad: add distributors
This commit is contained in:
parent
3b24444fa3
commit
f87025c5a6
22
kicad_lib.rb
22
kicad_lib.rb
|
@ -21,7 +21,7 @@ DEBUG = false # print debug information
|
|||
|
||||
puts "= create part to properties views ="
|
||||
|
||||
prop2view = [{property: "kicad_symbol"}, {property: "kicad_footprint"}, {property: "qeda_part"}, {property: "qeda_variant"}]
|
||||
prop2view = [{property: "kicad_symbol"}, {property: "kicad_footprint"}, {property: "qeda_part"}, {property: "qeda_variant"}, {property: "JLCPCB_CORRECTION"}]
|
||||
prop2view.each do |prop|
|
||||
puts prop[:property]
|
||||
prop[:table] = "part_" + prop[:property].downcase.gsub(/[- \/]/,"_")
|
||||
|
@ -30,6 +30,18 @@ prop2view.each do |prop|
|
|||
db.query(view)
|
||||
end
|
||||
|
||||
puts "= create part to distribution views ="
|
||||
|
||||
dist2view = [{property: "LCSC"}, {property: "JLCPCB"}, {property: "DigiKey"}]
|
||||
|
||||
dist2view.each do |prop|
|
||||
puts prop[:property]
|
||||
prop[:table] = "part_" + prop[:property].downcase.gsub(/[- \/]/,"_")
|
||||
view = "CREATE OR REPLACE VIEW #{prop[:table]} AS SELECT distribution.part AS part, distribution.sku AS #{prop[:property]} FROM distribution JOIN distributor ON distributor.id = distribution.distributor WHERE distributor.name = '#{prop[:property]}'"
|
||||
puts view if DEBUG
|
||||
db.query(view)
|
||||
end
|
||||
|
||||
puts "= create part category tables ="
|
||||
|
||||
kicad_dbl = {} # kicad database library file
|
||||
|
@ -52,7 +64,7 @@ categories.each do |category|
|
|||
end
|
||||
view += "part.description FROM part "
|
||||
view += "LEFT JOIN part AS parent ON parent.id = part.family "
|
||||
prop2view.each do |prop|
|
||||
(prop2view + dist2view).each do |prop|
|
||||
view += "LEFT JOIN #{prop[:table]} AS #{prop[:table]}1 ON #{prop[:table]}1.part = part.id "
|
||||
view += "LEFT JOIN #{prop[:table]} AS #{prop[:table]}2 ON #{prop[:table]}2.part = parent.id "
|
||||
end
|
||||
|
@ -64,8 +76,10 @@ categories.each do |category|
|
|||
library = {name: category, table: table, key: "name", symbols: "kicad_symbol", footprints: "kicad_footprint"}
|
||||
library[:properties] = {description: "description"}
|
||||
library[:fields] = []
|
||||
library[:fields] << {name: "QEDA part", column: "qeda_part", visible_on_add: false, visible_in_chooser: true, show_name: false, inherit_properties: true}
|
||||
library[:fields] << {name: "QEDA variant", column: "qeda_variant", visible_on_add: false, visible_in_chooser: true, show_name: false, inherit_properties: true}
|
||||
(prop2view + dist2view).each do |prop|
|
||||
next if prop[:property].start_with? "kicad_"
|
||||
library[:fields] << {name: prop[:property], column: prop[:property], visible_on_add: false, visible_in_chooser: true, show_name: false, inherit_properties: true}
|
||||
end
|
||||
kicad_dbl["libraries"] << library
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue