| 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 |