<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def collect_hunt_results(self, hunt):
 """Download current set of files in results. Args: hunt: The GRR hunt object to download files from. Returns: list: tuples containing: str: human-readable description of the source of the collection. For example, the name of the source host. str: path to the collected data. Raises: ValueError: if approval is needed and approvers were not specified. """

    if not os.path.isdir(self.output_path):
      os.makedirs(self.output_path)

    output_file_path = os.path.join(
        self.output_path, '.'.join((self.hunt_id, 'zip')))

    if os.path.exists(output_file_path):
      print('{0:s} already exists: Skipping'.format(output_file_path))
      return None

    self._check_approval_wrapper(
        hunt, self._get_and_write_archive, hunt, output_file_path)

    results = self._extract_hunt_results(output_file_path)
    print('Wrote results of {0:s} to {1:s}'.format(
        hunt.hunt_id, output_file_path))
    return results