Commit be552523 authored by Jérome Perrin's avatar Jérome Perrin

RSS reader: restore socket default timeout

parent 9310aef6
...@@ -16,13 +16,15 @@ def getRssDataAsDict(self, url, username=None, password=None): ...@@ -16,13 +16,15 @@ def getRssDataAsDict(self, url, username=None, password=None):
passman.add_password(None, url, username, password) passman.add_password(None, url, username, password)
auth_handler = urllib2.HTTPBasicAuthHandler(passman) auth_handler = urllib2.HTTPBasicAuthHandler(passman)
handlers.append(auth_handler) handlers.append(auth_handler)
# set shorter timeouts and revert default at enf of read # set shorter timeouts and revert default at enf of read
default_timeout = socket.getdefaulttimeout() default_timeout = socket.getdefaulttimeout()
socket.setdefaulttimeout(60.0) socket.setdefaulttimeout(60.0)
d = feedparser.parse(url, handlers=handlers) try:
socket.setdefaulttimeout(default_timeout) d = feedparser.parse(url, handlers=handlers)
finally:
socket.setdefaulttimeout(default_timeout)
if d.bozo and isinstance(d.bozo_exception, urllib2.URLError): if d.bozo and isinstance(d.bozo_exception, urllib2.URLError):
# we have an URL error # we have an URL error
return {'status':-2} return {'status':-2}
...@@ -33,9 +35,7 @@ def getRssDataAsDict(self, url, username=None, password=None): ...@@ -33,9 +35,7 @@ def getRssDataAsDict(self, url, username=None, password=None):
return {'status':-3} return {'status':-3}
elif d.status == 404: elif d.status == 404:
return {'status':-4} return {'status':-4}
result['items'] = [] result['items'] = []
# some feeds may not provide logo # some feeds may not provide logo
if d.feed.get('image', None) is not None: if d.feed.get('image', None) is not None:
......
764 765
\ No newline at end of file \ No newline at end of file
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment