1d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd#!/usr/bin/python 2d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# Copyright (C) 2015 The Android Open Source Project 3d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# 4d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# Licensed under the Apache License, Version 2.0 (the "License"); 5d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# you may not use this file except in compliance with the License. 6d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# You may obtain a copy of the License at 7d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# 8d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# http://www.apache.org/licenses/LICENSE-2.0 9d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# 10d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# Unless required by applicable law or agreed to in writing, software 11d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# distributed under the License is distributed on an "AS IS" BASIS, 12d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# See the License for the specific language governing permissions and 14d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# limitations under the License. 15d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# 16d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd# Take the output from gstylechecker and clean up into a more friendly format 17d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 18d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport argparse 19d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport fileinput 20d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddimport re 21d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 22d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddparser = argparse.ArgumentParser() 23d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddparser.add_argument('-omit') 24d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddargs = parser.parse_args() 25d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 26d3b009ae55651f1e60950342468e3c37fdeb0796Mike DoddPATTERN = re.compile(r"(?P<file>[^:]+):(?P<line>\d+)(?P<column>:\d+)?:\s(?P<message>.*)") 27d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 28d3b009ae55651f1e60950342468e3c37fdeb0796Mike Doddfor line in fileinput.input([]): 29d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd match = PATTERN.match(line) 30d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd if match: 31d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd filename = match.group("file"); 32d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd if args.omit: 33d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd filename = filename.replace(args.omit, "") 34d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd message = match.group("message") 35d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd message = message[0].upper() + message[1:] 36d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd print message 37d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd print " " + filename + ':' + match.group("line") + (match.group("column") if match.group("column") else "") 38d3b009ae55651f1e60950342468e3c37fdeb0796Mike Dodd 39