code: def update_available(after_days=1):
      
      never_downloaded = not bool(config.get('nrfa', 'downloaded_on', fallback=None) or None)
      if never_downloaded:
          config.set_datetime('nrfa', 'update_checked_on', datetime.utcnow())
          config.save()
          return True
  
      last_checked_on = config.get_datetime('nrfa', 'update_checked_on', fallback=None) or datetime.fromtimestamp(0)
      if datetime.utcnow() < last_checked_on + timedelta(days=after_days):
          return False
  
      current_version = LooseVersion(config.get('nrfa', 'version', fallback='0') or '0')
      try:
          with urlopen(config['nrfa']['oh_json_url'], timeout=10) as f:
              remote_version = LooseVersion(json.loads(f.read().decode('utf-8'))['nrfa_version'])
          config.set_datetime('nrfa', 'update_checked_on', datetime.utcnow())
          config.save()
          return remote_version > current_version
      except URLError:
          return None
docs: Check whether updated NRFA data is available.
  
      :param after_days: Only check if not checked previously since a certain number of days ago
      :type after_days: float
      :return: `True` if update available, `False` if not, `None` if remote location cannot be reached.
      :rtype: bool or None