PDA

View Full Version : [Python] Timeout



Lmp
05-28-2015, 10:26 PM
I've got a script, which uses I think RDD's or Darkbyte's NeoAccount class, and my problem is that the script constantly freezes indefinitely.
I wanted to add a timeout, and with normal links using urllib2 I understand I can just use the built-in timeout parameter, however with links accessed using the NeoAccount class's get and post, how do I incorporate a timeout?
Thanks.

Zachafer
05-28-2015, 11:39 PM
Modify the opener.open line to include a timeout value.
.open(url[, data][, timeout])


def get(self, url, referer = '', readable = True):
if url[0] == '/':
url = self.d + url
if referer == '':
referer = self.referer
self.opener.addheaders = [('Referer', referer)] + self.headers
try:
res = self.opener.open(url, timeout=300)
except urllib2.URLError, e:
raise MyException("There was an error: %r" % e)
self.referer = res.geturl()
if readable:
return self.readable(res)
else:
return res


def post(self, url, data, referer = '', readable = True):
if url[0] == '/':
url = self.d + url
if referer == '':
referer = self.referer
self.opener.addheaders = [('Content-Type', 'application/x-[Only registered and activated users can see links]'),
('Referer', referer)] + self.headers
try:
res = self.opener.open(url, urllib.urlencode(data), 300)
except urllib2.URLError, e:
raise MyException("There was an error: %r" % e)
self.referer = res.geturl()
if readable:
return self.readable(res)
else:
return resSorry about bad syntax lol