1#!/usr/bin/env python 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 4# found in the LICENSE file. 5 6"""A simple tool to go through histograms.xml and print out the owners for 7histograms. 8""" 9 10import xml.etree.ElementTree 11 12DUMMY_OWNER = "Please list the metric's owners. Add more owner tags as needed." 13 14def main(): 15 tree = xml.etree.ElementTree.parse('histograms.xml') 16 root = tree.getroot() 17 assert root.tag == 'histogram-configuration' 18 19 root_children = root.getchildren() 20 histograms = None 21 for node in root_children: 22 if node.tag == 'histograms': 23 histograms = node 24 break 25 assert histograms != None 26 27 for histogram in histograms.getchildren(): 28 if histogram.tag != 'histogram': 29 continue 30 31 name = histogram.attrib['name'] 32 owners = [] 33 obsolete = False 34 for node in histogram.getchildren(): 35 if node.tag == 'obsolete': 36 obsolete = True 37 continue 38 if node.tag != 'owner': 39 continue 40 if node.text == DUMMY_OWNER: 41 continue 42 assert '@' in node.text 43 owners.append(node.text) 44 45 if not obsolete: 46 if owners: 47 print name, ' '.join(owners) 48 else: 49 print name, 'NO_OWNER' 50 51if __name__ == '__main__': 52 main() 53