Brian Silverman | 8fa2aad | 2017-06-10 16:45:30 -0700 | [diff] [blame] | 1 | =begin |
| 2 | parts.yaml is a YAML file of mappings to mappings. The top-level key is the part |
| 3 | number that shows up in the schematics and the second-level mappings are |
| 4 | overrides for various things that can't be mapped automatically. |
| 5 | |
| 6 | Overrides: |
| 7 | package: The PCB-style package name. |
| 8 | =end |
| 9 | |
| 10 | require 'json' |
| 11 | require 'yaml' |
| 12 | require 'net/http' |
| 13 | |
Brian Silverman | 856af59 | 2017-12-18 11:17:09 -0500 | [diff] [blame] | 14 | #require './html' |
Brian Silverman | 8fa2aad | 2017-06-10 16:45:30 -0700 | [diff] [blame] | 15 | |
| 16 | def get_octopart_results(mpn) |
| 17 | query = [{:mpn => mpn, :limit => 20}] |
| 18 | response_include = ['specs', 'descriptions', 'short_description', 'compliance_documents', 'external_links'] |
| 19 | |
| 20 | url = 'http://octopart.com/api/v3/parts/match?' |
| 21 | url += '&apikey=80a2e435' |
| 22 | response_include.each do |i| |
| 23 | url += '&include[]=' + i |
| 24 | end |
| 25 | url += '&queries=' + URI.encode(JSON.generate(query)) |
| 26 | |
| 27 | server_response = JSON.parse(retrieve_url(url)) |
| 28 | |
| 29 | server_response['results'] |
| 30 | end |