code: def missing_fun_string(self, function_name):
          '''
          Return the error string for a missing function.
  
          This can range from "not available' to "__virtual__" returned False
          '''
          mod_name = function_name.split('.')[0]
          if mod_name in self.loaded_modules:
              return '\'{0}\' is not available.'.format(function_name)
          else:
              try:
                  reason = self.missing_modules[mod_name]
              except KeyError:
                  return '\'{0}\' is not available.'.format(function_name)
              else:
                  if reason is not None:
                      return '\'{0}\' __virtual__ returned False: {1}'.format(mod_name, reason)
                  else:
                      return '\'{0}\' __virtual__ returned False'.format(mod_namef missing_fun_string(self, function_name):
          '''
          Return the error string for a missing function.
  
          This can range from "not available' to "__virtual__" returned False
          '''
          mod_name = function_name.split('.')[0]
          if mod_name in self.loaded_modules:
              return '\'{0}\' is not available.'.format(function_name)
          else:
              try:
                  reason = self.missing_modules[mod_name]
              except KeyError:
                  return '\'{0}\' is not available.'.format(function_name)
              else:
                  if reason is not None:
                      return '\'{0}\' __virtual__ returned False: {1}'.format(mod_name, reason)
                  else:
                      return '\'{0}\' __virtual__ returned False'.format(mod_name)
docs: Return the error string for a missing function.
  
          This can range from "not available' to "__virtual__" returned False