Files
GiTui/widgets/repo_dir_tree.py

22 lines
858 B
Python

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()