+ printf(",%s,%s\n", quoted(entry["mfg_part_number"]), entry["quantity"]);
+}
+
+void process_goldphoenix(string[string] entry)
+{
+ int units = 1000;
+
+ if (entry["loadstatus"] == "noload")
+ return;
+
+ static int item = 1;
+ static bool start = true;
+ if (start) {
+ printf("#Item,Description,Designator,Package,Manufacturer,Manufacturer Part Number#,Supplier,Supplier Part #,QTY/BOARD,Order QTY,Unit Price, Subtotal \n");
+ start = false;
+ }
+
+ string[*] refdes = String::wordsplit(entry["refdes"], " \t");
+ printf("%d,", item);
+
+ /* description */
+ printf("%s %s,",
+ quoted(entry["device"]),
+ quoted(entry["value"]));
+
+ /* designators */
+ if (dim(refdes) > 1)
+ printf ("\"");
+ for (int i = 0; i < dim(refdes); i++) {
+ printf("%s", refdes[i]);
+ if (i < dim(refdes) - 1)
+ printf (",");
+ }
+ if (dim(refdes) > 1)
+ printf ("\"");
+
+ /* rest */
+ printf(",%s,%s,%s,%s,%s,%s,%d\n",
+ quoted(entry["footprint"]),
+ quoted(entry["mfg"]),
+ quoted(entry["mfg_part_number"]),
+ quoted(entry["vendor"]),
+ quoted(entry["vendor_part_number"]),
+ entry["quantity"],
+ dim(refdes) * units);
+ item++;