def get_files(self, ref: str = None, filter_regex: str = None, recursive: bool = False) -> List[str]: ref = ref or self.default_branch paths = [] contents = self.github_repo.get_contents(path="", ref=ref) if recursive: while contents: file_content = contents.pop(0) if file_content.type == "dir": contents.extend( self.github_repo.get_contents(path=file_content.path, ref=ref)) else: paths.append(file_content.path) else: paths = [ file_content.path for file_content in contents if file_content.type != "dir" ] if filter_regex: paths = filter_paths(paths, filter_regex) return paths
def get_files(self, ref: str = None, filter_regex: str = None, recursive: bool = False) -> List[str]: """ Get a list of file paths of the repo. :param ref: branch or commit (defaults to repo's default branch) :param filter_regex: filter the paths with re.search :param recursive: whether to return only top directory files or all files recursively :return: [str] """ ref = ref or self.default_branch paths = [] contents = self.github_repo.get_contents(path="", ref=ref) if recursive: while contents: file_content = contents.pop(0) if file_content.type == "dir": contents.extend( self.github_repo.get_contents(path=file_content.path, ref=ref)) else: paths.append(file_content.path) else: paths = [ file_content.path for file_content in contents if file_content.type != "dir" ] if filter_regex: paths = filter_paths(paths, filter_regex) return paths
def get_files( self, ref: str = None, filter_regex: str = None, recursive: bool = False ) -> List[str]: ref = ref or self.default_branch paths = list(self.__get_files(".", ref, recursive)) if filter_regex: paths = filter_paths(paths, filter_regex) return paths
def get_files( self, ref: str = None, filter_regex: str = None, recursive: bool = False ) -> List[str]: ref = ref or self.default_branch paths = [ file_dict["path"] for file_dict in self.gitlab_repo.repository_tree( ref=ref, recursive=recursive, all=True ) if file_dict["type"] != "tree" ] if filter_regex: paths = filter_paths(paths, filter_regex) return paths
def get_files(self, ref: str = "master", filter_regex: str = None, recursive: bool = False) -> List[str]: """ Get a list of file paths of the repo. :param ref: branch or commit (defaults to master) :param filter_regex: filter the paths with re.search :param recursive: whether to return only top directory files or all files recursively :return: [str] """ paths = [ file_dict["path"] for file_dict in self.gitlab_repo.repository_tree( ref=ref, recursive=recursive, all=True) if file_dict["type"] != "tree" ] if filter_regex: paths = filter_paths(paths, filter_regex) return paths