summaryrefslogtreecommitdiff
path: root/digikey_scraping/digikey.coffee
diff options
context:
space:
mode:
Diffstat (limited to 'digikey_scraping/digikey.coffee')
-rw-r--r--digikey_scraping/digikey.coffee35
1 files changed, 35 insertions, 0 deletions
diff --git a/digikey_scraping/digikey.coffee b/digikey_scraping/digikey.coffee
new file mode 100644
index 0000000..f1a9580
--- /dev/null
+++ b/digikey_scraping/digikey.coffee
@@ -0,0 +1,35 @@
+webpage = require('webpage')
+server = require('webserver').create()
+query_parse = /search\/([^&]+)/
+
+url = 'http://search.digikey.com/scripts/DkSearch/dksus.dll?Detail&name='
+
+service = server.listen 8086, (request, response) ->
+ page = webpage.create()
+
+ search = query_parse.exec request.url
+
+ unless search? and search[1]?
+ 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
+ page.open thisUrl, (status) ->
+ if status != "success"
+ response.statusCode = 503
+ response.write "MORT ET DESOLATION"
+ response.close()
+ else
+ if page.evaluate(-> typeof test == "function")
+ page.evaluate -> test()
+ console.log "TRYING AGAIN (try " + (tries += 1) + ")"
+ else
+ response.statusCode = 200
+ response.write page.content
+ response.close()