implement filling of preferred parts data in partslist ouptut files
[hw/altusmetrum] / bin / fillpartscsv
1 # expand csv partslist, replacing unknown fields with data
2 # from preferred parts list
3
4 # Copyright 2015 by Bdale Garbee <bdale@gag.com>, GPL v3
5
6 BEGIN { 
7         PARTFILE = "../altusmetrum/preferred-parts"
8         partcount = 0
9         while (getline <PARTFILE > 0) {
10                 partcount++
11                 parts[$1, $2, $3] = $0
12         }
13 }
14
15 {
16         FS = ","
17         split(parts[$1,$2,$3],field,"\t")
18
19         printf "%s,%s,%s", $1, $2, $3
20
21         if ( $4 == "unknown") printf ",%s", field[4]
22         else printf ",%s", $4
23
24         if ( $5 == "unknown") printf ",%s", field[5]
25         else printf ",%s", $5
26
27         if ( $6 == "unknown") printf ",%s", field[6]
28         else printf ",%s", $6
29
30         if ( $7 == "unknown") printf ",%s", field[7]
31         else printf ",%s", $7
32
33         if ( $8 == "unknown") printf ",%s", field[8]
34         else printf ",%s", $8
35
36         printf ",%s,%s\n", $9, $10
37 }