mirror of
https://git.srhtnin.garden/sarah/SaraView.git
synced 2026-10-13 18:28:14 +02:00
Removed random comments and replaced em-dashes with hyphens.
This commit is contained in:
1 parent
6083e00504
commit
ee7e163837
24 files changed
+198
-363
No files matched your search
@@ -34,7 +34,6 @@ FileTypeMap = {
|
||||
|
||||
|
||||
def ClassifyFile(EntryPath: Path) -> str:
|
||||
"""Return a coarse file-type label used to pick a preview renderer."""
|
||||
return FileTypeMap.get(EntryPath.suffix.lower(), "unknown")
|
||||
|
||||
|
||||
@@ -43,14 +42,10 @@ DefaultNoteExtension = ".md"
|
||||
|
||||
|
||||
def IsNoteFile(EntryName: str) -> bool:
|
||||
"""A directory's own "file" - editable/viewable like any other file, but
|
||||
hidden from normal listings behind the ShowSvFiles setting.
|
||||
"""
|
||||
return EntryName.startswith(NoteFilePrefix)
|
||||
|
||||
|
||||
def FindDirectoryNote(DirectoryPath: Path) -> Path | None:
|
||||
"""Find a directory's note file, whatever extension it currently has."""
|
||||
Prefix = f"{NoteFilePrefix}{DirectoryPath.name}."
|
||||
|
||||
for Candidate in DirectoryPath.iterdir():
|
||||
@@ -61,9 +56,6 @@ def FindDirectoryNote(DirectoryPath: Path) -> Path | None:
|
||||
|
||||
|
||||
def EnsureDirectoryNote(DirectoryPath: Path) -> Path:
|
||||
"""Find a directory's note file, creating one (defaulting to markdown)
|
||||
if it doesn't have one yet - e.g. a directory that predates this feature.
|
||||
"""
|
||||
Existing = FindDirectoryNote(DirectoryPath)
|
||||
if Existing is not None:
|
||||
return Existing
|
||||
@@ -74,7 +66,6 @@ def EnsureDirectoryNote(DirectoryPath: Path) -> Path:
|
||||
|
||||
|
||||
def GetDirectoryNoteInfo(DirectoryPath: Path) -> dict[str, Any] | None:
|
||||
"""Read-only lookup for listings - never creates a note."""
|
||||
NotePath = FindDirectoryNote(DirectoryPath)
|
||||
|
||||
if NotePath is None:
|
||||
@@ -84,9 +75,6 @@ def GetDirectoryNoteInfo(DirectoryPath: Path) -> dict[str, Any] | None:
|
||||
|
||||
|
||||
def RenameDirectoryNote(DirectoryPath: Path, OldDirectoryName: str) -> None:
|
||||
"""After a directory is renamed/moved, keep its note file's name (which
|
||||
embeds the directory's own name) in sync, preserving its extension.
|
||||
"""
|
||||
OldPrefix = f"{NoteFilePrefix}{OldDirectoryName}."
|
||||
|
||||
for Candidate in DirectoryPath.iterdir():
|
||||
@@ -97,12 +85,10 @@ def RenameDirectoryNote(DirectoryPath: Path, OldDirectoryName: str) -> None:
|
||||
|
||||
|
||||
def ListRoots() -> list[dict[str, Any]]:
|
||||
"""Return the configured roots as a flat list for the frontend."""
|
||||
return [{"Name": Name} for Name in GetRoots()]
|
||||
|
||||
|
||||
def CreateEntry(RootName: str, RelativePath: str, IsDirectory: bool) -> None:
|
||||
"""Create a new empty file or directory at the given path."""
|
||||
EntryPath = ResolvePath(RootName, RelativePath)
|
||||
|
||||
if EntryPath.exists():
|
||||
@@ -117,9 +103,6 @@ def CreateEntry(RootName: str, RelativePath: str, IsDirectory: bool) -> None:
|
||||
|
||||
|
||||
def MoveEntry(RootName: str, SourceRelativePath: str, DestinationRelativePath: str) -> None:
|
||||
"""Rename or move a file/directory within the same root. Used for both
|
||||
plain renames (same parent, new name) and full moves.
|
||||
"""
|
||||
SourcePath = ResolvePath(RootName, SourceRelativePath)
|
||||
DestinationPath = ResolvePath(RootName, DestinationRelativePath)
|
||||
|
||||
@@ -135,7 +118,6 @@ def MoveEntry(RootName: str, SourceRelativePath: str, DestinationRelativePath: s
|
||||
try:
|
||||
SourcePath.rename(DestinationPath)
|
||||
except OSError:
|
||||
# Cross-device or other rename failures — fall back to a copy+delete.
|
||||
shutil.move(str(SourcePath), str(DestinationPath))
|
||||
|
||||
if DestinationPath.is_dir():
|
||||
@@ -143,7 +125,6 @@ def MoveEntry(RootName: str, SourceRelativePath: str, DestinationRelativePath: s
|
||||
|
||||
|
||||
def DeleteEntry(RootName: str, RelativePath: str) -> None:
|
||||
"""Delete a file, or an entire directory tree."""
|
||||
EntryPath = ResolvePath(RootName, RelativePath)
|
||||
|
||||
if not EntryPath.exists():
|
||||
@@ -158,15 +139,6 @@ def DeleteEntry(RootName: str, RelativePath: str) -> None:
|
||||
def ListDirectory(
|
||||
RootName: str, RelativePath: str, ShowHidden: bool = False, ShowSvFiles: bool = False
|
||||
) -> list[dict[str, Any]]:
|
||||
"""List the immediate contents of a directory.
|
||||
|
||||
SaraTag's internal files are always hidden, regardless of ShowHidden.
|
||||
Note files (.sv_*) are hidden unless ShowSvFiles is True - independently
|
||||
of ShowHidden, since they're an implementation detail rather than a
|
||||
normal dotfile. Every directory's Note metadata is still attached
|
||||
regardless of ShowSvFiles, so clicking the directory can open it.
|
||||
Other dotfiles/dotfolders are hidden unless ShowHidden is True.
|
||||
"""
|
||||
DirectoryPath = ResolvePath(RootName, RelativePath)
|
||||
|
||||
if not DirectoryPath.is_dir():
|
||||
|
||||
Reference in new issue
Block a user