summaryrefslogtreecommitdiff
path: root/digikey.coffee
blob: b372ca7e5ff4d013ed05fbdc86b2d41602487e4a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/home/xilun/phantomjs-1.6.1-linux-x86_64-dynamic/bin/phantomjs

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, (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()