code: def generate_reports(subject_list, output_dir, work_dir, run_uuid, config=None,
                       packagename=None):
      
      reports_dir = str(Path(work_dir) / 'reportlets')
      report_errors = [
          run_reports(reports_dir, output_dir, subject_label, run_uuid,
                      config, packagename=packagename)
          for subject_label in subject_list
      ]
  
      errno = sum(report_errors)
      if errno:
          import logging
          logger = logging.getLogger('cli')
          error_list = ', '.join('%s (%d)' % (subid, err)
                                 for subid, err in zip(subject_list, report_errors) if err)
          logger.error(
              'Preprocessing did not finish successfully. Errors occurred while processing '
              'data from participants: %s. Check the HTML reports for details.', error_list)
      return errno
docs: A wrapper to run_reports on a given ``subject_list``