Added an exception for timeout

This commit is contained in:
John Ladan 2013-11-06 16:57:35 -05:00
parent d858f34ef8
commit 7e77b3c416
1 changed files with 5 additions and 2 deletions

View File

@ -5,6 +5,7 @@ except ImportError:
# Fall back to Python 2's urllib2 # Fall back to Python 2's urllib2
from urllib2 import urlopen,URLError from urllib2 import urlopen,URLError
from json import loads,dumps from json import loads,dumps
from socket import timeout
import sys import sys
""" Library Book Type Description: """ Library Book Type Description:
@ -37,8 +38,10 @@ def openLibrary_isbn(ISBN):
isbn = str(ISBN) isbn = str(ISBN)
try: try:
jsondata = urlopen("http://openlibrary.org/api/books?format=json&jscmd=data&bibkeys=ISBN:"+isbn, timeout=3) jsondata = urlopen("http://openlibrary.org/api/books?format=json&jscmd=data&bibkeys=ISBN:"+isbn, timeout=3)
except URLError: except URLError as e:
return {} return {'title':e}
except timeout:
return {'title':'Timeout while connecting to OpenLibrary.org'}
openBook = loads(jsondata.read().decode('utf-8')) openBook = loads(jsondata.read().decode('utf-8'))
if "ISBN:"+isbn not in openBook: if "ISBN:"+isbn not in openBook:
return {'isbn':isbn,'title':'Book not found'} return {'isbn':isbn,'title':'Book not found'}