diff options
author | Noe Rubinstein <nrubinstein@avencall.com> | 2012-09-17 16:37:05 +0200 |
---|---|---|
committer | Noe Rubinstein <nrubinstein@avencall.com> | 2012-09-17 16:37:05 +0200 |
commit | 537f3e5f072aac0629df1520b723846f5dc41639 (patch) | |
tree | 19ea4527a7e3ce259fed7fd60fc7f4c7690e4d9d | |
parent | 3abd35fb0b13c7dacb6d99361943a8c302382c9e (diff) |
add compiled file just in case
-rw-r--r-- | digikey.js | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/digikey.js b/digikey.js new file mode 100644 index 0000000..9f4a571 --- /dev/null +++ b/digikey.js @@ -0,0 +1,49 @@ +// Generated by CoffeeScript 1.3.3 +(function() { + var query_parse, server, service, url, webpage; + + webpage = require('webpage'); + + server = require('webserver').create(); + + query_parse = /search\/([^&]+)/; + + url = 'http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name='; + + service = server.listen(8080, function(request, response) { + var page, search, thisUrl, tries; + page = webpage.create(); + search = query_parse.exec(request.url); + if (!((search != null) && (search[1] != null))) { + console.log("Invalid URL: " + request.url); + response.statusCode = 404; + response.write("try search/componentname"); + response.close(); + return; + } + console.log(search[1]); + thisUrl = url + search[1]; + tries = 0; + return page.open(thisUrl, function(status) { + if (status !== "success") { + response.statusCode = 503; + response.write("MORT ET DESOLATION"); + return response.close(); + } else { + if (page.evaluate(function() { + return typeof test === "function"; + })) { + page.evaluate(function() { + return test(); + }); + return console.log("TRYING AGAIN (try " + (tries += 1) + ")"); + } else { + response.statusCode = 200; + response.write(page.content); + return response.close(); + } + } + }); + }); + +}).call(this); |