aboutsummaryrefslogtreecommitdiffstats
path: root/longbow/src/python/site-packages/longbow/VocabularyReport.py
diff options
context:
space:
mode:
Diffstat (limited to 'longbow/src/python/site-packages/longbow/VocabularyReport.py')
-rwxr-xr-xlongbow/src/python/site-packages/longbow/VocabularyReport.py162
1 files changed, 0 insertions, 162 deletions
diff --git a/longbow/src/python/site-packages/longbow/VocabularyReport.py b/longbow/src/python/site-packages/longbow/VocabularyReport.py
deleted file mode 100755
index 5609db11..00000000
--- a/longbow/src/python/site-packages/longbow/VocabularyReport.py
+++ /dev/null
@@ -1,162 +0,0 @@
-#! /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
-import itertools
-
-import LongBow
-
-def computeVocabularyScore(tokenCount):
- return 100.0
-
-
-def csvFunctionResult(file, function):
- score = computeVocabularyScore(file.token_count)
- string = "vocabulary,%s,%s,%d,%d,%.2f" % (file.filename, function.name, function.start_line, function.token_count, score)
-
- LongBow.scorePrinter([90, 80], score, string)
- return function.token_count
-
-
-def csvFileVocabulary(file):
- score = computeVocabularyScore(file.token_count)
- string = "vocabulary,%s,,,%.2f,%.2f" % (file.filename, file.average_token, score)
- LongBow.scorePrinter([90, 80], score, string)
- return
-
-
-def csvFunction(fileInformationList):
- for fileInformation in fileInformationList:
- complexities = map(lambda function: csvFunctionResult(fileInformation, function), fileInformation)
- return
-
-
-def csvSummary(fileInformationList):
- map(lambda file: csvFileVocabulary(file), fileInformationList)
- return
-
-
-def textFunctionResult(file, function, maxFileNameLength, maxFunctionNameLength):
- score = computeVocabularyScore(function.token_count)
- format = "%-" + str(maxFileNameLength) + "s %-" + str(maxFunctionNameLength) + "s %3d %3d %6.2f"
- string = format % (file.filename, function.name, function.start_line, function.token_count, score)
-
- LongBow.scorePrinter([90, 80], score, string)
- return function.cyclomatic_complexity
-
-
-def textFileVocabulary(file, maxFileNameLength, printFormat=""):
- score = computeVocabularyScore(file.average_CCN)
- if printFormat == "":
- printFormat = "%-" + str(maxFileNameLength) + "s %6.2f %6.2f"
- string = printFormat % (file.filename, file.average_token, score)
- LongBow.scorePrinter([90, 80], score, string)
- return
-
-
-def computeMaxFileNameLength(fileInformationList):
- result = 0
- for fileInformation in fileInformationList:
- if len(fileInformation.filename) > result:
- result = len(fileInformation.filename)
- return result
-
-
-def computeMaxFunctionNameLength(fileInformationList):
- result = 0
- for fileInformation in fileInformationList:
- if len(fileInformation.filename) > result:
- result = len(fileInformation.filename)
- return result
-
-
-def textFunction(fileInformationList):
- maxFileNameLength = max(map(lambda fileInformation: len(fileInformation.filename), fileInformationList))
- maxFunctionNameLength = max(map(lambda fileInformation: max(map(lambda function: len(function.name), fileInformation)), fileInformationList))
-
- for fileInformation in fileInformationList:
- complexities = map(lambda function: textFunctionResult(fileInformation, function, maxFileNameLength, maxFunctionNameLength), fileInformation)
- return
-
-
-def textSummary(fileInformationList, prefix=""):
- if len(fileInformationList) < 1:
- print "%sNo Files To Grade" % prefix
- return
- maxFileNameLength = max(map(lambda fileInformation: len(fileInformation.filename), fileInformationList))
- printFormat = prefix + "%-" + str(maxFileNameLength) + "s %10s %6s"
- print printFormat % ("File Path", "Ave Token", "Score")
- printFormat = prefix + "%-" + str(maxFileNameLength) + "s %10.2f %6.2f"
- map(lambda file: textFileVocabulary(file, maxFileNameLength, printFormat), fileInformationList)
- return
-
-
-def computeAverage(fileInformationList):
- vocabulary = map(lambda fileInformation : fileInformation.average_token, fileInformationList)
- sum = reduce(lambda sum, x: sum + x, vocabulary)
- return float(sum) / float(len(vocabulary))
-
-
-def gradeAndPrint(fileList, hfcca, problemsOnly=False, prefix=""):
- options, arguments = hfcca.createHfccaCommandLineParser().parse_args(args=["foo"])
- result = hfcca.analyze(fileList, options)
-
- # Convert from that iterator to a simple list...
- fileInformationList = map(lambda x : x, result)
- if problemsOnly:
- fileInformationList = filter(lambda item: computeVocabularyScore(item.average_CCN) < 100, fileInformationList)
-
- textSummary(fileInformationList, prefix)
-
-def commandLineMain(args, hfcca):
- targets = []
-
- if args.stdin:
- for line in sys.stdin:
- t = line.strip()
- if (len(t) > 0):
- targets.append(t)
- else:
- targets = args.files
-
- if (len(targets) == 0):
- print >> sys.stderr, "Error: target list cannot be empty"
-
- # If nothing was specified, print the summary as a default
- if args.summary == False and args.function == False and args.average == False:
- args.summary = True
-
- options, arguments = hfcca.createHfccaCommandLineParser().parse_args(args=["VocabularyReport"])
- result = hfcca.analyze(targets, options)
-
- # Convert from that iterator to a simple list...
- fileInformationList = map(lambda x : x, result)
-
- if args.function:
- if args.output == "text":
- textFunction(fileInformationList)
- else:
- csvFunction(fileInformationList)
-
- if args.summary:
- if args.output == "text":
- textSummary(fileInformationList)
- else:
- csvSummary(fileInformationList)
-
- if args.average:
- print "%.2f" % computeAverage(fileInformationList)