docs: def update(self):
          """Update the host/system info using the input method.
  
          Return the stats (dict)
          """
          # Init new stats
          stats = self.get_init_value()
  
          if self.input_method == 'local':
              # Update stats using the standard system lib
              stats['os_name'] = platform.system()
              stats['hostname'] = platform.node()
              stats['platform'] = platform.architecture()[0]
              if stats['os_name'] == "Linux":
                  try:
                      linux_distro = platform.linux_distribution()
                  except AttributeError:
                      stats['linux_distro'] = _linux_os_release()
                  else:
                      if linux_distro[0] == '':
                          stats['linux_distro'] = _linux_os_release()
                      else:
                          stats['linux_distro'] = ' '.join(linux_distro[:2])
                  stats['os_version'] = platform.release()
              elif (stats['os_name'].endswith('BSD') or
                    stats['os_name'] == 'SunOS'):
                  stats['os_version'] = platform.release()
              elif stats['os_name'] == "Darwin":
                  stats['os_version'] = platform.mac_ver()[0]
              elif stats['os_name'] == "Windows":
                  os_version = platform.win32_ver()
                  stats['os_version'] = ' '.join(os_version[::2])
                  # if the python version is 32 bit perhaps the windows operating
                  # system is 64bit
                  if stats['platform'] == '32bit' and 'PROCESSOR_ARCHITEW6432' in os.environ:
                      stats['platform'] = '64bit'
              else:
                  stats['os_version'] = ""
              # Add human readable name
              if stats['os_name'] == "Linux":
                  stats['hr_name'] = stats['linux_distro']
              else:
                  stats['hr_name'] = '{} {}'.format(
                      stats['os_name'], stats['os_version'])
              stats['hr_name'] += ' {}'.format(stats['platform'])
  
          elif self.input_method == 'snmp':
              # Update stats using SNMP
              try:
                  stats = self.get_stats_snmp(
                      snmp_oid=snmp_oid[self.short_system_name])
              except KeyError:
                  stats = self.get_stats_snmp(snmp_oid=snmp_oid['default'])
              # Default behavor: display all the information
              stats['os_name'] = stats['system_name']
              # Windows OS tips
              if self.short_system_name == 'windows':
                  for r, v in iteritems(snmp_to_human['windows']):
                      if re.search(r, stats['system_name']):
                          stats['os_name'] = v
                          break
              # Add human readable name
              stats['hr_name'] = stats['os_name']
  
          # Update the stats
          self.stats = stats
  
          return self.stats