1
0
Fork 0
mirror of https://github.com/ansible-collections/community.general.git synced 2024-09-14 20:13:21 +02:00

Fix module validator blacklist handling.

Process the blacklist before creating a validator instance.
This commit is contained in:
Matt Clay 2017-04-12 23:02:56 -07:00
parent 8382ed7200
commit 442768c45e

View file

@ -834,20 +834,26 @@ class ModuleValidator(Validator):
(option, should_be, version_added))
))
@staticmethod
def is_blacklisted(path):
base_name = os.path.basename(path)
file_name, _ = os.path.splitext(base_name)
if file_name.startswith('_') and os.path.islink(path):
return True
if not frozenset((base_name, file_name)).isdisjoint(ModuleValidator.BLACKLIST):
return True
for pat in ModuleValidator.BLACKLIST_PATTERNS:
if fnmatch(base_name, pat):
return True
return False
def validate(self):
super(ModuleValidator, self).validate()
if self.object_name.startswith('_') and os.path.islink(self.object_path):
return
# Blacklists -- these files are not checked
if not frozenset((self.basename,
self.name)).isdisjoint(self.BLACKLIST):
return
for pat in self.BLACKLIST_PATTERNS:
if fnmatch(self.basename, pat):
return
# if self._powershell_module():
# self.warnings.append('Cannot check powershell modules at this '
# 'time. Skipping')
@ -974,6 +980,8 @@ def main():
path = module
if args.exclude and args.exclude.search(path):
sys.exit(0)
if ModuleValidator.is_blacklisted(path):
sys.exit(0)
with ModuleValidator(path, analyze_arg_spec=args.arg_spec,
base_branch=args.base_branch, git_cache=git_cache) as mv:
mv.validate()
@ -997,6 +1005,8 @@ def main():
path = os.path.join(root, filename)
if args.exclude and args.exclude.search(path):
continue
if ModuleValidator.is_blacklisted(path):
continue
with ModuleValidator(path, analyze_arg_spec=args.arg_spec,
base_branch=args.base_branch, git_cache=git_cache) as mv:
mv.validate()