code: def goodnode(self, nodelist):
          ''' Goes through the provided list
          and returns the first server node
          that does not return an error.
          '''
          l = len(nodelist)
          for n in range(self.current_node(l), l):
              self.msg.message("Trying node " + str(n) + ": " + nodelist[n])
              try:
                  req = urllib.request.Request(url=nodelist[n])
                  urllib.request.urlopen(req)
              except HTTPError as e:
                  self.msg.error_message(e)
                  self.currentnode = int(self.currentnode) + 1
              else:
                  self.msg.message("Using " + nodelist[n])
                  return nodelist[nf goodnode(self, nodelist):
          ''' Goes through the provided list
          and returns the first server node
          that does not return an error.
          '''
          l = len(nodelist)
          for n in range(self.current_node(l), l):
              self.msg.message("Trying node " + str(n) + ": " + nodelist[n])
              try:
                  req = urllib.request.Request(url=nodelist[n])
                  urllib.request.urlopen(req)
              except HTTPError as e:
                  self.msg.error_message(e)
                  self.currentnode = int(self.currentnode) + 1
              else:
                  self.msg.message("Using " + nodelist[n])
                  return nodelist[n]
docs: Goes through the provided list
          and returns the first server node
          that does not return an error.