def METHOD_NAME (files, exclude_dirs):
	def get_coverage (f):
		defs = files[f]
		if not defs:
			return 100
		doc_yes = len([d for d in defs.values() if d])
		doc_no  = len([d for d in defs.values() if not d])
		return (doc_yes * 100.0 / (doc_yes + doc_no))
	def file_cmp (a,b):
		#return cmp(get_coverage(a), get_coverage(b))
		return (get_coverage(a) < get_coverage(b))
	#files_sorted = files.keys()
	files_sorted = list(files.keys())
	#files_sorted.sort(file_cmp)
	#sorted(files_sorted, cmp=file_cmp, reverse=True)
	sorted(files_sorted, key=functools.cmp_to_key(file_cmp), reverse=True)
	#files_sorted.reverse()
	total_yes = 0
	total_no  = 0
	for f in files_sorted:
		skip = False
		for exclude_dir in exclude_dirs:
			if exclude_dir in f:
				skip = True
				break
		if skip:
			continue
		defs = files[f]
		if not defs:
			continue
		doc_yes = len([d for d in defs.values() if d])
		doc_no  = len([d for d in defs.values() if not d])
		doc_per = doc_yes * 100.0 / (doc_yes + doc_no)
		total_yes += doc_yes
		total_no  += doc_no
		print ('%3d%% - %s - (%d of %d)'%(doc_per, f, doc_yes, (doc_yes + doc_no)))
		#defs_sorted = defs.keys()
		defs_sorted = list(defs.keys())
		defs_sorted.sort()
		#sorted(defs_sorted)
		for d in defs_sorted:
			if not defs[d]:
				print ("\t", d)
	total_all = total_yes + total_no
	total_per = total_yes * 100 / total_all
	print()
	print("%d%% API documentation coverage" %(total_per))
	return (ns.threshold - total_per, 0)[total_per > ns.threshold]