def get_files()

in shared/lib/fileprovider.py [0:0]


    def get_files(self, directory_to_search):
        directory_to_search = os.path.join(self.repo_dir, directory_to_search)
        if not os.path.exists(directory_to_search):
            logger.error("Directory doesn't exist: {}".format(directory_to_search))
            return None

        file_list = []

        for root, dirs, files in os.walk(directory_to_search, topdown=True):
            relative_root = relpath(root, self.repo_dir)

            # Skip excluded paths
            excluded = False
            for exclude_path_re in self.exclude_path_regexps:
                if exclude_path_re.match(relative_root):
                    excluded = True
                    break;
            if excluded:
                logger.debug("Excluded {}".format(relative_root))
                continue
            for dir in dirs:
                relative_dir = relpath(os.path.join(root, dir), self.repo_dir)
                excluded = False
                for exclude_path_re in self.exclude_path_regexps:
                    if exclude_path_re.match(relative_dir):
                        excluded = True
                        break;
                if excluded:
                    logger.debug("Excluded {}".format(relative_dir))
                    dirs.remove(dir)
                    continue

            # Exclude files
            for filename in files:
                relative_filename = os.path.join(relative_root, filename)
                # Ignore files not in the repo
                rval = self.git.ls_files(relative_filename)
                if not rval:
                    logger.debug("Excluded {}".format(relative_filename))
                    continue
                excluded = False
                for exclude_file_re in self.exclude_file_regexps:
                    if exclude_file_re.match(relative_filename):
                        excluded = True
                        break
                if excluded:
                    logger.debug("Excluded {}".format(relative_filename))
                    continue
                file_list.append(relative_filename)

        return file_list