Skip to content

file

Classes:

logger module-attribute

logger = getLogger(__name__)

PackageStorage

PackageStorage(
    cwd: SPathLike | None = None, *, package_name: str, mode: int = 511
)

Methods:

Attributes:

Source code in vstools/utils/file.py
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
def __init__(self, cwd: SPathLike | None = None, *, package_name: str, mode: int = 0o777) -> None:
    package_name = package_name.strip(".").split(".")[0]

    if cwd is not None:
        cwd = SPath(cwd)
    else:
        try:
            cwd = get_script_path()
        except CustomRuntimeError:
            cwd = SPath.cwd()

    self.mode = mode
    self.folder = cwd.get_folder() / self.BASE_FOLDER / package_name

    logger.debug("PackageStorage(%s) initialized in the %r directory ", package_name, self.folder)

BASE_FOLDER class-attribute instance-attribute

BASE_FOLDER = SPath('.vsjet')

folder instance-attribute

folder = get_folder() / BASE_FOLDER / package_name

mode instance-attribute

mode = mode

ensure_folder

ensure_folder() -> None
Source code in vstools/utils/file.py
32
33
def ensure_folder(self) -> None:
    self.folder.mkdir(self.mode, True, True)

get_file

get_file(filename: SPathLike, *, ext: SPathLike | None = None) -> SPath
Source code in vstools/utils/file.py
35
36
37
38
39
40
41
42
43
def get_file(self, filename: SPathLike, *, ext: SPathLike | None = None) -> SPath:
    filename = SPath(filename)

    if ext:
        filename = filename.with_suffix(SPath(ext).suffix or str(ext))

    self.ensure_folder()

    return (self.folder / filename.name).resolve()