Initial commit

This commit is contained in:
2025-10-25 20:59:58 -04:00
commit ea2f98cfc3
9 changed files with 1432 additions and 0 deletions

View File

@@ -0,0 +1,54 @@
from typing import Iterable, Tuple
import os
import subprocess
from ..SAOLogging import logging_fatal
from .Base import FileSystem
class LocalFileSystem(FileSystem):
@property
def sep(self) -> str:
return os.path.sep
def unlink(self, path: str) -> None:
os.unlink(path)
def rmdir(self, path: str) -> None:
os.rmdir(path)
def makedirs(self, path: str) -> None:
os.makedirs(path, exist_ok = True)
def realpath(self, path: str) -> str:
return os.path.realpath(path)
def lstat(self, path: str) -> os.stat_result:
return os.lstat(path)
def lstat_in_dir(self, path: str) -> Iterable[Tuple[str, os.stat_result]]:
for filename in os.listdir(path):
yield filename, self.lstat(self.join(path, filename))
def utime(self, path: str, times: Tuple[int, int]) -> None:
os.utime(path, times)
def join(self, base: str, leaf: str) -> str:
return os.path.join(base, leaf)
def split(self, path: str) -> Tuple[str, str]:
return os.path.split(path)
def normpath(self, path: str) -> str:
return os.path.normpath(path)
def push_file_here(self, source: str, destination: str, show_progress: bool = False) -> None:
if show_progress:
kwargs_call = {}
else:
kwargs_call = {
"stdout": subprocess.DEVNULL,
"stderr": subprocess.DEVNULL
}
if subprocess.call(self.adb_arguments + ["pull", source, destination], **kwargs_call):
logging_fatal("Non-zero exit code from adb pull")