<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def _handle_run(self, relpath, params):
 """Show the report for a single pants run."""

    args = self._default_template_args('run.html')
    run_id = relpath
    run_info = self._get_run_info_dict(run_id)
    if run_info is None:
      args['no_such_run'] = relpath
      if run_id == 'latest':
        args['is_latest'] = 'none'
    else:
      report_abspath = run_info['default_report']
      report_relpath = os.path.relpath(report_abspath, self._root)
      report_dir = os.path.dirname(report_relpath)
      self_timings_path = os.path.join(report_dir, 'self_timings')
      cumulative_timings_path = os.path.join(report_dir, 'cumulative_timings')
      artifact_cache_stats_path = os.path.join(report_dir, 'artifact_cache_stats')
      run_info['timestamp_text'] = \
        datetime.fromtimestamp(float(run_info['timestamp'])).strftime('%H:%M:%S on %A, %B %d %Y')

      timings_and_stats = '\n'.join([
        self._collapsible_fmt_string.format(id='cumulative-timings-collapsible',
                                            title='Cumulative timings', class_prefix='aggregated-timings'),
        self._collapsible_fmt_string.format(id='self-timings-collapsible',
                                            title='Self timings', class_prefix='aggregated-timings'),
        self._collapsible_fmt_string.format(id='artifact-cache-stats-collapsible',
                                            title='Artifact cache stats', class_prefix='artifact-cache-stats')
      ])

      args.update({'run_info': run_info,
                   'report_path': report_relpath,
                   'self_timings_path': self_timings_path,
                   'cumulative_timings_path': cumulative_timings_path,
                   'artifact_cache_stats_path': artifact_cache_stats_path,
                   'timings_and_stats': timings_and_stats})
      if run_id == 'latest':
        args['is_latest'] = run_info['id']

    content = self._renderer.render_name('base.html', args).encode("utf-8")
    self._send_content(content, 'text/html')