| OLD | NEW |
| 1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
| 2 # Copyright 2014 The Chromium Authors. All rights reserved. | 2 # Copyright 2014 The Chromium Authors. All rights reserved. |
| 3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
| 4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
| 5 | 5 |
| 6 """Updates NetErrorCodes enum in histograms.xml file with values read | 6 """Updates NetErrorCodes enum in histograms.xml file with values read |
| 7 from net_error_list.h. | 7 from net_error_list.h. |
| 8 | 8 |
| 9 If the file was pretty-printed, the updated version is pretty-printed too. | 9 If the file was pretty-printed, the updated version is pretty-printed too. |
| 10 """ | 10 """ |
| 11 | 11 |
| 12 import os.path | 12 import os.path |
| 13 import re | 13 import re |
| 14 import sys | 14 import sys |
| 15 | 15 |
| 16 sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) | 16 import histograms_path |
| 17 from update_histogram_enum import UpdateHistogramFromDict | 17 import update_histogram_enum |
| 18 | 18 |
| 19 NET_ERROR_LIST_PATH = '../../../net/base/net_error_list.h' | 19 NET_ERROR_LIST_PATH = 'net/base/net_error_list.h' |
| 20 | 20 |
| 21 POSITIVE_ERROR_REGEX = re.compile(r'^NET_ERROR\(([\w]+), -([0-9]+)\)') | 21 POSITIVE_ERROR_REGEX = re.compile(r'^NET_ERROR\(([\w]+), -([0-9]+)\)') |
| 22 NEGATIVE_ERROR_REGEX = re.compile(r'^NET_ERROR\(([\w]+), (-[0-9]+)\)') | 22 NEGATIVE_ERROR_REGEX = re.compile(r'^NET_ERROR\(([\w]+), (-[0-9]+)\)') |
| 23 | 23 |
| 24 def ReadNetErrorCodes(filename, error_regex): | 24 def ReadNetErrorCodes(filename, error_regex): |
| 25 """Reads in values from net_error_list.h, returning a dictionary mapping | 25 """Reads in values from net_error_list.h, returning a dictionary mapping |
| 26 error code to error name. | 26 error code to error name. |
| 27 """ | 27 """ |
| 28 # Read the file as a list of lines | 28 # Read the file as a list of lines |
| 29 with open(filename) as f: | 29 with open(histograms_path.GetInputFile(filename)) as f: |
| 30 content = f.readlines() | 30 content = f.readlines() |
| 31 | 31 |
| 32 # Parse out lines that are net errors. | 32 # Parse out lines that are net errors. |
| 33 errors = {} | 33 errors = {} |
| 34 for line in content: | 34 for line in content: |
| 35 m = error_regex.match(line) | 35 m = error_regex.match(line) |
| 36 if m: | 36 if m: |
| 37 errors[int(m.group(2))] = m.group(1) | 37 errors[int(m.group(2))] = m.group(1) |
| 38 return errors | 38 return errors |
| 39 | 39 |
| 40 def main(): | 40 def main(): |
| 41 if len(sys.argv) > 1: | 41 if len(sys.argv) > 1: |
| 42 print >>sys.stderr, 'No arguments expected!' | 42 print >>sys.stderr, 'No arguments expected!' |
| 43 sys.stderr.write(__doc__) | 43 sys.stderr.write(__doc__) |
| 44 sys.exit(1) | 44 sys.exit(1) |
| 45 | 45 |
| 46 UpdateHistogramFromDict( | 46 update_histogram_enum.UpdateHistogramFromDict( |
| 47 'NetErrorCodes', | 47 'NetErrorCodes', |
| 48 ReadNetErrorCodes(NET_ERROR_LIST_PATH, POSITIVE_ERROR_REGEX), | 48 ReadNetErrorCodes(NET_ERROR_LIST_PATH, POSITIVE_ERROR_REGEX), |
| 49 NET_ERROR_LIST_PATH) | 49 NET_ERROR_LIST_PATH) |
| 50 | 50 |
| 51 UpdateHistogramFromDict( | 51 update_histogram_enum.UpdateHistogramFromDict( |
| 52 'CombinedHttpResponseAndNetErrorCode', | 52 'CombinedHttpResponseAndNetErrorCode', |
| 53 ReadNetErrorCodes(NET_ERROR_LIST_PATH, NEGATIVE_ERROR_REGEX), | 53 ReadNetErrorCodes(NET_ERROR_LIST_PATH, NEGATIVE_ERROR_REGEX), |
| 54 NET_ERROR_LIST_PATH) | 54 NET_ERROR_LIST_PATH) |
| 55 | 55 |
| 56 if __name__ == '__main__': | 56 if __name__ == '__main__': |
| 57 main() | 57 main() |
| OLD | NEW |