Skip to content

Instantly share code, notes, and snippets.

@gsquire
Created August 21, 2015 22:30
Show Gist options
  • Save gsquire/c67d83a7943602b102dd to your computer and use it in GitHub Desktop.
Save gsquire/c67d83a7943602b102dd to your computer and use it in GitHub Desktop.
#!/usr/bin/env python
import json
import pprint
import signal
import sys
import requests
from twisted.internet import reactor
from twisted.web import client
def handler(signum, frame):
print 'Timeout!, exiting...'
reactor.stop()
def getDataFromUrl(value):
pprint.pprint(value)
def getUrls():
value = requests.get(sys.argv[1])
urls = json.loads(value.text)
for url in urls['urls']:
d = client.getPage(str(url['url']))
d.addCallbacks(getDataFromUrl)
signal.alarm(int(sys.argv[2]))
def main():
if len(sys.argv) < 3:
print 'Usage: python interview.py <URL> <TIMEOUT>'
sys.exit(1)
signal.signal(signal.SIGALRM, handler)
getUrls()
reactor.run()
if __name__ == '__main__':
main()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment