community: correct return type of get_files_from_directory in github tool (#27885)

### About:
- **Description:** the _get_files_from_directory_ method return a
string, but it's used in other methods that expect a List[str]
- **Issue:** None
- **Dependencies:** None

This pull request import a new method _list_files_ with the old logic of
_get_files_from_directory_, but it return a List[str] at the end.
The behavior of _ get_files_from_directory_ is not changed.
This commit is contained in:
Lorenzo 2024-12-16 19:30:33 +01:00 committed by GitHub
parent 580a8d53f9
commit b79a1156ed
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -213,7 +213,7 @@ class GitHubAPIWrapper(BaseModel):
)
for content in contents:
if content.type == "dir":
files.extend(self.get_files_from_directory(content.path))
files.extend(self._list_files(content.path))
else:
files.append(content.path)
@ -324,7 +324,7 @@ class GitHubAPIWrapper(BaseModel):
)
for content in contents:
if content.type == "dir":
files.extend(self.get_files_from_directory(content.path))
files.extend(self._list_files(content.path))
else:
files.append(content.path)
@ -351,20 +351,24 @@ class GitHubAPIWrapper(BaseModel):
"""
from github import GithubException
files: List[str] = []
try:
contents = self.github_repo_instance.get_contents(
directory_path, ref=self.active_branch
)
return str(self._list_files(directory_path))
except GithubException as e:
return f"Error: status code {e.status}, {e.message}"
def _list_files(self, directory_path: str) -> List[str]:
files: List[str] = []
contents = self.github_repo_instance.get_contents(
directory_path, ref=self.active_branch
)
for content in contents:
if content.type == "dir":
files.extend(self.get_files_from_directory(content.path))
files.extend(self._list_files(content.path))
else:
files.append(content.path)
return str(files)
return files
def get_issue(self, issue_number: int) -> Dict[str, Any]:
"""