Andriy Kornatskyy avatar Andriy Kornatskyy committed 92bbb92

Introduced McCabe complexity checks.

Comments (0)

Files changed (1)

-.SILENT: env up count pep8
-.PHONY: env up count pep8
+.SILENT: env up count pep8 mccabe
+.PHONY: env up count pep8 mccabe
 
 all: env up count pep8
 
 env:
 	if [ ! -d env ]; then \
-		virtualenv env ; env/bin/easy_install -O2 pep8 ; \
+		virtualenv env ; env/bin/easy_install -O2 pep8 flake8; \
 	fi
 
 up:
 	#if [ -f web2py/gluon/contrib/populate.py ]; then \
 	#	rm web2py/gluon/contrib/populate.py; \
 	#fi
-	for r in `ls -d ./*/ | cut -d / -f 2 | grep -v env | sort`; do \
+	for r in `ls -d ./wheezy.*/ | cut -d / -f 2 | grep -v env | sort`; do \
 		echo -n "$$r => "; \
 		env/bin/pep8 --count -qq --ignore=E501,E231,W293,W291 $$r; \
 		if [ $$? = "0" ]; then echo 0; fi \
 	done ; \
 	exit 0
+
+mccabe:
+	echo "\nnumber of McCabe errors and overal complexity:"
+	for r in `ls -d ./*/ | cut -d / -f 2 | grep -v env | sort`; do \
+		echo -n "$$r => "; \
+		r=`flake8 --max-complexity 10 $$r | grep W901 | \
+			cut -d\( -f2 | cut -d\) -f1` ; \
+		if [ -z "$$r" ]; then echo 0 0; \
+		else echo "$$r" | awk '{c+=1;s+=$$1} END {print c, s}'; fi \
+	done ; \
+	exit 0
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.