docs: def _update_leap_second_data(self):
          """ Updates the systems leap second information
  
          Pulls the latest leap second information from
          https://www.ietf.org/timezones/data/leap-seconds.list
          and updates the leapsecond config file.
  
          Raises:
              ValueError: If the connection to IETF does not return 200
              IOError: If the path to the leap seconds file is not valid
          """
  
          log.info('Attempting to acquire latest leapsecond data')
  
          ls_file = ait.config.get(
              'leapseconds.filename',
              os.path.join(ait.config._directory, _DEFAULT_FILE_NAME)
          )
  
          url = 'https://www.ietf.org/timezones/data/leap-seconds.list'
          r = requests.get(url)
  
          if r.status_code != 200:
              msg = 'Unable to locate latest timezone data. Connection to IETF failed'
              log.error(msg)
              raise ValueError(msg)
  
          text = r.text.split('\n')
          lines = [l for l in text if l.startswith('#@') or not l.startswith('#')]
  
          data = {'valid': None, 'leapseconds': []}
          data['valid'] = datetime.datetime(1900, 1, 1) + datetime.timedelta(seconds=int(lines[0].split('\t')[1]))
  
          leap = 1
          for l in lines[1:-1]:
              t = datetime.datetime(1900, 1, 1) + datetime.timedelta(seconds=int(l.split('\t')[0]))
              if t < GPS_Epoch:
                  continue
  
              data['leapseconds'].append((t, leap))
              leap += 1
  
          self._data = data
          with open(ls_file, 'w') as outfile:
              pickle.dump(data, outfile)