def _rerequest(self, url, peerid):
     if self.config['ip']:
         try:
             url += '&ip=' + socket.gethostbyname(self.config['ip'])
         except:
             self.errorfunc(logging.WARNING,
                            _("Problem resolving config ip (%s), gethostbyname failed") % self.config['ip'],
                            exc_info=sys.exc_info())
     request = Request(url)
     request.add_header('User-Agent', 'BitTorrent/' + version)
     if self.config['tracker_proxy']:
         request.set_proxy(self.config['tracker_proxy'], 'http')
     try:
         h = urlopen(request)
         data = h.read()
         h.close()
     # urllib2 can raise various crap that doesn't have a common base
     # exception class especially when proxies are used, at least
     # ValueError and stuff from httplib
     except Exception, e:
         try:
             s = unicode(e.args[0])
         except:
             s = unicode(e)
         r = _("Problem connecting to tracker - %s: %s") % (e.__class__, s)
         def f():
             self._postrequest(errormsg=r, exc=e, peerid=peerid)
 def _rerequest(self, url, peerid):
     if self.config['ip']:
         url += '&ip=' + gethostbyname(self.config['ip'])
     request = Request(url)
     request.add_header('User-Agent', 'BitTorrent/' + version)
     if self.config['tracker_proxy']:
         request.set_proxy(self.config['tracker_proxy'], 'http')
     try:
         h = urlopen(request)
         data = h.read()
         h.close()
     # urllib2 can raise various crap that doesn't have a common base
     # exception class especially when proxies are used, at least
     # ValueError and stuff from httplib
     except Exception, e:
         def f(r='Problem connecting to tracker - ' + str(e)):
             self._postrequest(errormsg=r, peerid=peerid)
Exemple #3
0
 def _rerequest(self, url, peerid):
     if self.config['ip']:
         url += '&ip=' + gethostbyname(self.config['ip'])
     request = Request(url)
     request.add_header('User-Agent', 'BitTorrent/' + version)
     if self.config['tracker_proxy']:
         request.set_proxy(self.config['tracker_proxy'], 'http')
     try:
         h = urlopen(request)
         data = h.read()
         h.close()
     # urllib2 can raise various crap that doesn't have a common base
     # exception class especially when proxies are used, at least
     # ValueError and stuff from httplib
     except Exception, e:
         def f(r='Problem connecting to tracker - ' + str(e)):
             self._postrequest(errormsg=r, peerid=peerid)