code: def _download_files(self, client, flow_id):
      
      output_file_path = os.path.join(
          self.output_path, '.'.join((flow_id, 'zip')))
  
      if os.path.exists(output_file_path):
        print('{0:s} already exists: Skipping'.format(output_file_path))
        return None
  
      flow = client.Flow(flow_id)
      file_archive = flow.GetFilesArchive()
      file_archive.WriteToFile(output_file_path)
  
      # Unzip archive for processing and remove redundant zip
      fqdn = client.data.os_info.fqdn.lower()
      client_output_file = os.path.join(self.output_path, fqdn)
      if not os.path.isdir(client_output_file):
        os.makedirs(client_output_file)
  
      with zipfile.ZipFile(output_file_path) as archive:
        archive.extractall(path=client_output_file)
      os.remove(output_file_path)
  
      return client_output_file
docs: Download files from the specified flow.
  
      Args:
        client: GRR Client object to which to download flow data from.
        flow_id: GRR flow ID.
  
      Returns:
        str: path of downloaded files.