optimized getting reading directories, started work on dir tree in file view

This commit is contained in:
2026-02-06 16:54:20 +11:00
parent 7956361044
commit 16afb5e2d0
3 changed files with 33 additions and 34 deletions

22
widgets/repo_dir_tree.py Normal file
View File

@@ -0,0 +1,22 @@
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()