from textual.widgets import Tree, DirectoryTree from textual.widgets.directory_tree import DirEntry from textual import work import requests class RepoDirectoryTree(DirectoryTree): ICON_NODE_EXPANDED = "\uf07c " ICON_NODE = "\ue5ff " ICON_FILE = "\uf15b " def __init__(self, repo_owner: str, repo_name: str, path: str, name: str | None = None, id: str | None = None, classes: str | None = None, disabled: bool = False): super().__init__(path=path, name=name, id=id, classes=classes, disabled=disabled) self.repo_owner = repo_owner self.repo_name = repo_name def _directory_content(self, location: Path, worker: Worker) -> Iterator[Path]: contents = requests.get( self.app.GITEA_HOST + f"api/v1/repos/{self.repo_owner}/{self.repo_name}/contents/{location}" ).json()