code: def download_from_host(self, source, output_directory, filename):
          
          result = self._run_command(
              ["plowdown", source["url"], "-o",
                  output_directory, "--temp-rename"],
              stderr=open("/dev/null", "w")
          )
  
          result['host_name'] = source['host_name']
  
          if 'error' in result:
              return result
  
          temporary_filename = self.parse_output(
              result['host_name'], result['output'])
          result['filename'] = os.path.join(output_directory, filename)
          result.pop('output')
  
          os.rename(temporary_filename, result['filename'])
  
          return result
docs: Download a file from a given host.
  
          This method renames the file to the given string.
  
          :param source: Dictionary containing information about host.
          :type source: dict
          :param output_directory: Directory to place output in.
          :type output_directory: str
          :param filename: The filename to rename to.
          :type filename: str
          :returns: Dictionary with information about downloaded file.
          :rtype: dict