def playbooks(self): results = [] project_path = self.get_project_path() if project_path: for dirpath, dirnames, filenames in os.walk(smart_str(project_path), followlinks=settings.AWX_SHOW_PLAYBOOK_LINKS): if skip_directory(dirpath): continue for filename in filenames: playbook = could_be_playbook(project_path, dirpath, filename) if playbook is not None: results.append(smart_text(playbook)) return sorted(results, key=lambda x: smart_str(x).lower())
def test_is_not_playbook(filename): path = os.path.join(DATA, 'playbooks', 'invalid') assert could_be_playbook(DATA, path, filename) is None
def test_could_be_playbook(filename): path = os.path.join(DATA, 'playbooks', 'valid') assert could_be_playbook(DATA, path, filename).endswith(filename)