| #!/usr/bin/env python |
| # Copyright 2014 The Chromium Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| """A simple tool to go through histograms.xml and print out the owners for |
| histograms. |
| """ |
| |
| import os |
| import sys |
| import xml.etree.ElementTree |
| |
| sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'common')) |
| import path_util |
| |
| DUMMY_OWNER = "Please list the metric's owners. Add more owner tags as needed." |
| |
| def main(): |
| tree = xml.etree.ElementTree.parse(path_util.GetHistogramsFile()) |
| root = tree.getroot() |
| assert root.tag == 'histogram-configuration' |
| |
| root_children = root.getchildren() |
| histograms = None |
| for node in root_children: |
| if node.tag == 'histograms': |
| histograms = node |
| break |
| assert histograms != None |
| |
| for histogram in histograms.getchildren(): |
| if histogram.tag != 'histogram': |
| continue |
| |
| name = histogram.attrib['name'] |
| owners = [] |
| obsolete = False |
| for node in histogram.getchildren(): |
| if node.tag == 'obsolete': |
| obsolete = True |
| continue |
| if node.tag != 'owner': |
| continue |
| if node.text == DUMMY_OWNER: |
| continue |
| assert '@' in node.text |
| owners.append(node.text) |
| |
| if not obsolete: |
| if owners: |
| print name, ' '.join(owners) |
| else: |
| print name, 'NO_OWNER' |
| |
| if __name__ == '__main__': |
| main() |