code: def _connect_nntp (self, nntpserver):
          
          tries = 0
          nntp = None
          while tries < 2:
              tries += 1
              try:
                  nntp = nntplib.NNTP(nntpserver, usenetrc=False)
              except nntplib.NNTPTemporaryError:
                  self.wait()
              except nntplib.NNTPPermanentError as msg:
                  if re.compile("^50[45]").search(str(msg)):
                      self.wait()
                  else:
                      raise
          if nntp is None:
              raise LinkCheckerError(
                 _("NNTP server too busy; tried more than %d times.") % tries)
          if log.is_debug(LOG_CHECK):
              nntp.set_debuglevel(1)
          self.add_info(nntp.getwelcome())
          return nntp
docs: This is done only once per checking task. Also, the newly
          introduced error codes 504 and 505 (both inclining "Too busy, retry
          later", are caught.