OLD | NEW |
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
| 4 import csv |
| 5 |
4 from telemetry.page import page_measurement_results | 6 from telemetry.page import page_measurement_results |
5 | 7 |
6 class CsvPageMeasurementResults( | 8 class CsvPageMeasurementResults( |
7 page_measurement_results.PageMeasurementResults): | 9 page_measurement_results.PageMeasurementResults): |
8 def __init__(self, results_writer, output_after_every_page, trace_tag=''): | 10 def __init__(self, output_stream, output_after_every_page, trace_tag=''): |
9 super(CsvPageMeasurementResults, self).__init__(trace_tag) | 11 super(CsvPageMeasurementResults, self).__init__(trace_tag) |
10 self._results_writer = results_writer | 12 self._results_writer = csv.writer(output_stream) |
11 self._did_output_header = False | 13 self._did_output_header = False |
12 self._header_names_written_to_writer = None | 14 self._header_names_written_to_writer = None |
13 self._output_after_every_page = output_after_every_page | 15 self._output_after_every_page = output_after_every_page |
14 | 16 |
15 def DidMeasurePage(self): | 17 def DidMeasurePage(self): |
16 assert self.values_for_current_page, 'Failed to call WillMeasurePage' | 18 assert self.values_for_current_page, 'Failed to call WillMeasurePage' |
17 if not self._output_after_every_page: | 19 if not self._output_after_every_page: |
18 super(CsvPageMeasurementResults, self).DidMeasurePage() | 20 super(CsvPageMeasurementResults, self).DidMeasurePage() |
19 return | 21 return |
20 | 22 |
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
73 | 75 |
74 def _OutputValuesForPage(self, page_values): | 76 def _OutputValuesForPage(self, page_values): |
75 row = [page_values.page.display_url] | 77 row = [page_values.page.display_url] |
76 for measurement_name in self._header_names_written_to_writer: | 78 for measurement_name in self._header_names_written_to_writer: |
77 value = page_values.FindValueByMeasurementName(measurement_name) | 79 value = page_values.FindValueByMeasurementName(measurement_name) |
78 if value: | 80 if value: |
79 row.append('%s' % value.output_value) | 81 row.append('%s' % value.output_value) |
80 else: | 82 else: |
81 row.append('-') | 83 row.append('-') |
82 self._results_writer.writerow(row) | 84 self._results_writer.writerow(row) |
OLD | NEW |