Web request error handling
Added a try / except block around placing a urllib2.urlopen(). Additionally, when there is an error I print it and return None. This will tell the cache to remove the opened file.
This commit is contained in:
parent
5803f74701
commit
7308ed8225
|
@ -29,6 +29,8 @@ class LastFmRequest(dict):
|
||||||
for param in self:
|
for param in self:
|
||||||
url[param] = self[param]
|
url[param] = self[param]
|
||||||
file = url.open()
|
file = url.open()
|
||||||
|
if file == None:
|
||||||
|
return None
|
||||||
if printfile==True:
|
if printfile==True:
|
||||||
self.print_file(file)
|
self.print_file(file)
|
||||||
doc = xm.parse( file )
|
doc = xm.parse( file )
|
||||||
|
@ -43,6 +45,8 @@ def lfm_cache_album(file, artist, album):
|
||||||
req["album"] = album
|
req["album"] = album
|
||||||
req["artist"] = artist
|
req["artist"] = artist
|
||||||
doc = req.place()
|
doc = req.place()
|
||||||
|
if doc == None:
|
||||||
|
return False
|
||||||
node = pref_attr(doc, "image", "size", pref_sizes)
|
node = pref_attr(doc, "image", "size", pref_sizes)
|
||||||
node = xm.child(node)
|
node = xm.child(node)
|
||||||
if node == None:
|
if node == None:
|
||||||
|
|
|
@ -6,9 +6,10 @@ import string
|
||||||
|
|
||||||
HEADER = libsaria.__vers__
|
HEADER = libsaria.__vers__
|
||||||
|
|
||||||
vals = [ ('%','25'), (' ','20'), ('&','26'), ('<','3C'), ('>','3E'),
|
#vals = [ ('%','25'), (' ','20'), ('&','26'), ('<','3C'), ('>','3E'),
|
||||||
('"','22'), ('#','23'), ('$','24'), ('\'','27'), ('+','2B'),
|
# ('"','22'), ('#','23'), ('$','24'), ('\'','27'), ('+','2B'),
|
||||||
(',','2C'), ('/','2F'), (':','3A'), ('[','5B'), (']','5D')]
|
# (',','2C'), ('/','2F'), (':','3A'), ('[','5B'), (']','5D')]
|
||||||
|
vals = [ (' ','20'), ('&','26') ]
|
||||||
|
|
||||||
|
|
||||||
class Url:
|
class Url:
|
||||||
|
@ -20,10 +21,14 @@ class Url:
|
||||||
self.url += "&" + key + "=" + value
|
self.url += "&" + key + "=" + value
|
||||||
|
|
||||||
def open(self):
|
def open(self):
|
||||||
#print self.url
|
print self.url
|
||||||
req = urllib2.Request(self.url)
|
try:
|
||||||
req.add_header('User-Agent', HEADER)
|
req = urllib2.Request(self.url)
|
||||||
return urllib2.urlopen(req)
|
req.add_header('User-Agent', HEADER)
|
||||||
|
return urllib2.urlopen(req)
|
||||||
|
except Exception, e:
|
||||||
|
print e
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
def escape(string):
|
def escape(string):
|
||||||
|
|
Loading…
Reference in New Issue