28 lines
722 B
Python
28 lines
722 B
Python
from pathlib import Path
|
|
from .AItems import AItem
|
|
|
|
|
|
class Folder(AItem):
|
|
COLOR = 2
|
|
|
|
def __init__(self, path: Path) -> None:
|
|
super().__init__(path)
|
|
|
|
def fields(self) -> tuple[str, int, int]:
|
|
return (f"{self.name}/", self.size, self.permissions)
|
|
|
|
def __str__(self) -> str:
|
|
return f"{self.name}/, {self.size}, {self.permissions}"
|
|
|
|
def children(self) -> list[AItem]:
|
|
from .factory import make_item
|
|
items: list[AItem] = []
|
|
for entry in self.path.iterdir():
|
|
try:
|
|
items.append(make_item(entry))
|
|
except FileNotFoundError:
|
|
pass
|
|
return items
|
|
|
|
def is_navigable(self) -> bool:
|
|
return True
|