#! /usr/bin/env python # Copyright (c) 2017 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # import sys ansiRed = "\x1b[31m"; ansiGreen = "\x1b[32m"; ansiYellow = "\x1b[33m"; ansiMagenta = "\x1b[35m"; ansiReset = "\x1b[0m"; def buildRed(string): if sys.stdout.isatty(): return ansiRed + string + ansiReset else: return string def buildGreen(string): if sys.stdout.isatty(): return ansiGreen + string + ansiReset else: return string def buildYellow(string): if sys.stdout.isatty(): return ansiYellow + string + ansiReset else: return string def score(distribution, score): result = "red" if (score > distribution[0]): result = "green" elif (score > distribution[1]): result = "yellow" return result def scoreBuilder(distribution, score, string): ''' scores is a list of 2 decreasing values. The first is the minimum score for green, the second is the minimum score for yellow. The rest art red ''' if (score > distribution[0]): return buildGreen(string) elif (score > distribution[1]): return buildYellow(string) else: return buildRed(string) def scorePrinter(distribution, score, string): print scoreBuilder(distribution, score, string) def countLines(fileName): i = 0 with open(fileName) as f: for i, l in enumerate(f): pass return i + 1 def CFileNameToFunctionPrefix(fileName): ''' Given the name of a C source file or header file, return the canonical name prefix for functions within that file. For example, the input name "parc_Buffer.c" results in "parcBuffer_" ''' fileName = os.path.basename(fileName); fileNameSpace = os.path.splitext(fileName)[0] parts = fileNameSpace.partition("_") result = None if len(parts) == 3: result = parts[0] + parts[2] + "_" return result